From be660c8167d5da156b2e932efd9394fdeeac3838 Mon Sep 17 00:00:00 2001 From: winlin Date: Sat, 13 Aug 2022 10:27:14 +0800 Subject: [PATCH] Speedup test by using cache image. --- .github/workflows/codeql-analysis.yml | 5 +- .github/workflows/test.yml | 71 ++- trunk/3rdparty/st-srs/tools/jmpbuf/jmpbuf | Bin 0 -> 49896 bytes trunk/3rdparty/st-srs/tools/jmpbuf/jmpbuf.E.c | 565 ++++++++++++++++++ trunk/Dockerfile | 10 - trunk/Dockerfile.builds | 55 +- trunk/Dockerfile.cov | 2 +- trunk/Dockerfile.test | 2 +- trunk/auto/depends.sh | 16 + 9 files changed, 649 insertions(+), 77 deletions(-) create mode 100755 trunk/3rdparty/st-srs/tools/jmpbuf/jmpbuf create mode 100644 trunk/3rdparty/st-srs/tools/jmpbuf/jmpbuf.E.c diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml index d61dadbd3d7..38c3146a309 100644 --- a/.github/workflows/codeql-analysis.yml +++ b/.github/workflows/codeql-analysis.yml @@ -25,7 +25,10 @@ jobs: - name: Build SRS run: | - cd trunk && ./configure && make + echo "pwd: $(pwd), who: $(whoami)" + docker run --rm -v $(pwd):$(pwd) -w $(pwd)/trunk ossrs/srs:ubuntu20-cache \ + bash -c "./configure --jobs=2 && chmod 777 -R objs" + cd trunk && ./configure --jobs=2 && make -j2 - name: Perform CodeQL Analysis uses: github/codeql-action/analyze@v2 diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 35276d944ba..1fb57ae72ee 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -5,8 +5,10 @@ on: [push, pull_request] jobs: build-centos7: - name: actions-test-build-centos7 + name: build-centos7 runs-on: ubuntu-20.04 + needs: + - multile-arch-amd64 steps: - name: Checkout repository uses: actions/checkout@v2 @@ -23,8 +25,10 @@ jobs: run: DOCKER_BUILDKIT=1 docker build -f trunk/Dockerfile.builds --target centos7-ansi-no-ffmpeg . build-centos6: - name: actions-test-build-centos6 + name: build-centos6 runs-on: ubuntu-20.04 + needs: + - multile-arch-amd64 steps: - name: Checkout repository uses: actions/checkout@v2 @@ -34,21 +38,11 @@ jobs: - name: Build on CentOS6, with SRT run: DOCKER_BUILDKIT=1 docker build -f trunk/Dockerfile.builds --target centos6-srt . - build-centos8: - name: actions-test-build-centos8 - runs-on: ubuntu-20.04 - steps: - - name: Checkout repository - uses: actions/checkout@v2 - # Build for CentOS 8 - - name: Build on CentOS8, baseline - run: DOCKER_BUILDKIT=1 docker build -f trunk/Dockerfile.builds --target centos8-baseline . - - name: Build on CentOS8, with SRT - run: DOCKER_BUILDKIT=1 docker build -f trunk/Dockerfile.builds --target centos8-srt . - build-ubuntu16: - name: actions-test-build-ubuntu16 + name: build-ubuntu16 runs-on: ubuntu-20.04 + needs: + - multile-arch-amd64 steps: - name: Checkout repository uses: actions/checkout@v2 @@ -59,8 +53,10 @@ jobs: run: DOCKER_BUILDKIT=1 docker build -f trunk/Dockerfile.builds --target ubuntu16-srt . build-ubuntu18: - name: actions-test-build-ubuntu18 + name: build-ubuntu18 runs-on: ubuntu-20.04 + needs: + - multile-arch-amd64 steps: - name: Checkout repository uses: actions/checkout@v2 @@ -71,8 +67,10 @@ jobs: run: DOCKER_BUILDKIT=1 docker build -f trunk/Dockerfile.builds --target ubuntu18-srt . build-ubuntu20: - name: actions-test-build-ubuntu20 + name: build-ubuntu20 runs-on: ubuntu-20.04 + needs: + - multile-arch-amd64 steps: - name: Checkout repository uses: actions/checkout@v2 @@ -82,40 +80,51 @@ jobs: - name: Build on Ubuntu20, with SRT run: DOCKER_BUILDKIT=1 docker build -f trunk/Dockerfile.builds --target ubuntu20-srt . - build-cross: - name: actions-test-build-cross + build-cross-arm: + name: build-cross-arm runs-on: ubuntu-20.04 + needs: + - multile-arch-amd64 steps: - name: Checkout repository uses: actions/checkout@v2 - # Cross Build for ARMv7 - name: Cross Build for ARMv7 on Ubuntu16 run: DOCKER_BUILDKIT=1 docker build -f trunk/Dockerfile.builds --target ubuntu16-cross-armv7 . - name: Cross Build for ARMv7 on Ubuntu20 run: DOCKER_BUILDKIT=1 docker build -f trunk/Dockerfile.builds --target ubuntu20-cross-armv7 . - # Cross Build for AARCH64 + + build-cross-aarch64: + name: build-cross-aarch64 + runs-on: ubuntu-20.04 + needs: + - multile-arch-amd64 + steps: + - name: Checkout repository + uses: actions/checkout@v2 - name: Cross Build for AARCH64 on Ubuntu16 run: DOCKER_BUILDKIT=1 docker build -f trunk/Dockerfile.builds --target ubuntu16-cross-aarch64 . - name: Cross Build for AARCH64 on Ubuntu20 run: DOCKER_BUILDKIT=1 docker build -f trunk/Dockerfile.builds --target ubuntu20-cross-aarch64 . build: - name: actions-test-build + name: build needs: - build-centos7 - build-centos6 - - build-centos8 - build-ubuntu16 - build-ubuntu18 - build-ubuntu20 - - build-cross + - build-cross-arm + - build-cross-aarch64 runs-on: ubuntu-20.04 steps: - run: echo 'Build done' utest: - name: actions-test-utest + name: utest runs-on: ubuntu-20.04 + needs: + - multile-arch-amd64 steps: - name: Checkout repository uses: actions/checkout@v2 @@ -130,8 +139,10 @@ jobs: run: docker run --rm srs:test bash -c 'make && ./objs/srs -c conf/regression-test.conf && cd 3rdparty/srs-bench && make && ./objs/srs_test -test.v' coverage: - name: actions-test-coverage + name: coverage runs-on: ubuntu-20.04 + needs: + - utest steps: - name: Checkout repository uses: actions/checkout@v2 @@ -161,7 +172,7 @@ jobs: # multile-arch-armv7: - name: actions-test-multile-arch-armv7 + name: multile-arch-armv7 runs-on: ubuntu-20.04 steps: - name: Checkout repository @@ -181,7 +192,7 @@ jobs: -f trunk/Dockerfile . multile-arch-aarch64: - name: actions-test-multile-arch-aarch64 + name: multile-arch-aarch64 runs-on: ubuntu-20.04 steps: - name: Checkout repository @@ -201,7 +212,7 @@ jobs: -f trunk/Dockerfile . multile-arch-amd64: - name: actions-test-multile-arch-amd64 + name: multile-arch-amd64 runs-on: ubuntu-20.04 steps: - name: Checkout repository @@ -231,7 +242,7 @@ jobs: - run: echo 'Artifacts done' done: - name: actions-test-done + name: done needs: - build - utest diff --git a/trunk/3rdparty/st-srs/tools/jmpbuf/jmpbuf b/trunk/3rdparty/st-srs/tools/jmpbuf/jmpbuf new file mode 100755 index 0000000000000000000000000000000000000000..ac8eb3f327c5aa469c71ff8e5de234b8c3815b59 GIT binary patch literal 49896 zcmeI*&2JQC90%}cTfizv%f(>CxC%93WQP)3>H*v;jY~vcq$Kr)JnnX8cc;w0xHDT= zqNX+JVN*yj(M10N6Hn@a1Wmvtn!v&M!pVat6G=%l>A`5_VEz8)rQMyv856%x@|)-R zJ@d>n&wOUKw=J^Q&wH_NCAL|_AU!U&mQ(=y!s3>HF)}D37lU7jT^HulbVQ}h7cwX`~VcW0P zsOk1pYuBsi+~uzLe5q%H`8J0mqCC2wC!B9x*b&U9i z`X*ejW|s@$fcSjV;e3PPdCA*L$J{ufb-jGrE}Pme=PQ2R`93a%^T|7xB6)m{;7o9o z_xd41>jNWWBl`IxhmQwuHyyY|?=fD>_a-6lO1?R*3zfFlde`}6tY6Z>^MeB;5S!*Y&-9{-_adg$I-F3cXaJfIf%n=p*w*0k4xz=XZ z%SPGi^(Ci+_4R~9ByXQ@<;tM7^7}k=@bHVH2M$KRtyb(gkxQ8mA57dOqVfb*zDtsp zQgZJe)P9b(l;KwJcVHT|^vg8zo4AC06Y7PlN-d&Zk2s2ua(@^yR{Epg2%4+PbzJ|z zs$QiwqA!WqfH3NA&2a3TVKy8Sxs*o`vW`!3=Z3eQ9{Or-;k|Re%)GsBH~Nx@1j4_% zdxPH&EN^!`h2B2@TyWTq=a+fp??ro&`wk=IoIFRj`568jC05pg^&D@wo>fXcm%_U2 z90s90iIDj}YXzP=!d$#qC_n)UP=Epypa2CZKmiI+fC3bt00k&O0SZun0u-PC1t>rP z3Q&Lo6rcbFC_n)UP=Epypa2CZKmiI+fC3bt00k&O0SZun0u-RYe@Wm(rul1T=C>Bs zl$l%m4z_1z=2WIRx_E8&^`)gHS!(n0I9i$J#iLT4zx)QOfj_@|AE)ML>R%Yg#78)nN_P5RUu3zf^Hm%fB|9AfJ2mg2jN2Ly(fAmK*MvgD_e~$D* zQ95tk#LbGbb@bNH(vnS~w{A#lkF>6%Rok_%-+Vgh+Gnjwe*0vps&n=H4)i6r*UPS5 zC|hRIsgw)B;kADArP3Q&Lo6rcbFC_n)UP=Epypa2CZKmiI+fC3bt00k&O0SZun z0u-PC1t>rP3Q&Lo6rcbFC_n)UP=Epypa2CZKmiI+fCBeUU_AVP@42vc!g?yK@7>CH zX9`e&0u-PC1t>rP3Q&Lo6rcbFC_n)UP=Epypa2CZKmiI+fC3bt00k&O0SZun0u-PC z1t>rP3Q&Lo6rcbFC_n)UP=Epypa2CZKmiI+fC3bt!2d^J(^fSmPrE6twRXMi#3?;d zJf#cuY|T{1YU)DTY&a&))N?v#mrV;@GTx0}kSK-sTxco6D71-tGaZlsI4>BMBTG=(aOqg9xr9>vg+@`m~OT3mW)M-8k1;m>`^K? zjVaJ>AWTG5K1QQG{}g$?JE3k~Sj@>7xh91}b$`%aK)$Ulm-E{YR}fMpKa4|rZc1lZ zWSPB*K0lN0hx~kH{w>JSzkEe1mXE~pgR%TrEPo}IuSfnMVk4p#u>m2giT5X!zJs;) ztvkK||9y7!1m8sTa--K8z0g&kiPnA>-u_h9vy^edwQ8<0Wt&#TDA=BXkIl1odc_)E zw`+KnisKsiGII62p@KR!p^T|)&B#|Ad=RcNvD+A&eDiE$&?)a7G6znZ`P{&nMlJ80 bD(ylkl#Q`)hMm@)!J)lFsfr4oOsRhXyCJR- literal 0 HcmV?d00001 diff --git a/trunk/3rdparty/st-srs/tools/jmpbuf/jmpbuf.E.c b/trunk/3rdparty/st-srs/tools/jmpbuf/jmpbuf.E.c new file mode 100644 index 00000000000..e4e7f9987cd --- /dev/null +++ b/trunk/3rdparty/st-srs/tools/jmpbuf/jmpbuf.E.c @@ -0,0 +1,565 @@ +# 1 "jmpbuf.c" +# 1 "" 1 +# 1 "" 3 +# 370 "" 3 +# 1 "" 1 +# 1 "" 2 +# 1 "jmpbuf.c" 2 + + + +# 1 "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/stdio.h" 1 3 4 +# 64 "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/stdio.h" 3 4 +# 1 "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/_stdio.h" 1 3 4 +# 68 "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/_stdio.h" 3 4 +# 1 "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/sys/cdefs.h" 1 3 4 +# 659 "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/sys/cdefs.h" 3 4 +# 1 "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/sys/_symbol_aliasing.h" 1 3 4 +# 660 "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/sys/cdefs.h" 2 3 4 +# 725 "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/sys/cdefs.h" 3 4 +# 1 "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/sys/_posix_availability.h" 1 3 4 +# 726 "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/sys/cdefs.h" 2 3 4 +# 69 "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/_stdio.h" 2 3 4 +# 1 "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/Availability.h" 1 3 4 +# 135 "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/Availability.h" 3 4 +# 1 "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/AvailabilityVersions.h" 1 3 4 +# 136 "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/Availability.h" 2 3 4 +# 1 "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/AvailabilityInternal.h" 1 3 4 +# 137 "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/Availability.h" 2 3 4 +# 70 "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/_stdio.h" 2 3 4 + +# 1 "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/_types.h" 1 3 4 +# 27 "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/_types.h" 3 4 +# 1 "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/sys/_types.h" 1 3 4 +# 33 "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/sys/_types.h" 3 4 +# 1 "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/machine/_types.h" 1 3 4 +# 32 "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/machine/_types.h" 3 4 +# 1 "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/i386/_types.h" 1 3 4 +# 39 "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/i386/_types.h" 3 4 +typedef signed char __int8_t; + + + +typedef unsigned char __uint8_t; +typedef short __int16_t; +typedef unsigned short __uint16_t; +typedef int __int32_t; +typedef unsigned int __uint32_t; +typedef long long __int64_t; +typedef unsigned long long __uint64_t; + +typedef long __darwin_intptr_t; +typedef unsigned int __darwin_natural_t; +# 72 "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/i386/_types.h" 3 4 +typedef int __darwin_ct_rune_t; + + + + + +typedef union { + char __mbstate8[128]; + long long _mbstateL; +} __mbstate_t; + +typedef __mbstate_t __darwin_mbstate_t; + + +typedef long int __darwin_ptrdiff_t; + + + + + + + +typedef long unsigned int __darwin_size_t; + + + + + +typedef __builtin_va_list __darwin_va_list; + + + + + +typedef int __darwin_wchar_t; + + + + +typedef __darwin_wchar_t __darwin_rune_t; + + +typedef int __darwin_wint_t; + + + + +typedef unsigned long __darwin_clock_t; +typedef __uint32_t __darwin_socklen_t; +typedef long __darwin_ssize_t; +typedef long __darwin_time_t; +# 33 "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/machine/_types.h" 2 3 4 +# 34 "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/sys/_types.h" 2 3 4 +# 55 "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/sys/_types.h" 3 4 +typedef __int64_t __darwin_blkcnt_t; +typedef __int32_t __darwin_blksize_t; +typedef __int32_t __darwin_dev_t; +typedef unsigned int __darwin_fsblkcnt_t; +typedef unsigned int __darwin_fsfilcnt_t; +typedef __uint32_t __darwin_gid_t; +typedef __uint32_t __darwin_id_t; +typedef __uint64_t __darwin_ino64_t; + +typedef __darwin_ino64_t __darwin_ino_t; + + + +typedef __darwin_natural_t __darwin_mach_port_name_t; +typedef __darwin_mach_port_name_t __darwin_mach_port_t; +typedef __uint16_t __darwin_mode_t; +typedef __int64_t __darwin_off_t; +typedef __int32_t __darwin_pid_t; +typedef __uint32_t __darwin_sigset_t; +typedef __int32_t __darwin_suseconds_t; +typedef __uint32_t __darwin_uid_t; +typedef __uint32_t __darwin_useconds_t; +typedef unsigned char __darwin_uuid_t[16]; +typedef char __darwin_uuid_string_t[37]; + +# 1 "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/sys/_pthread/_pthread_types.h" 1 3 4 +# 57 "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/sys/_pthread/_pthread_types.h" 3 4 +struct __darwin_pthread_handler_rec { + void (*__routine)(void *); + void *__arg; + struct __darwin_pthread_handler_rec *__next; +}; + +struct _opaque_pthread_attr_t { + long __sig; + char __opaque[56]; +}; + +struct _opaque_pthread_cond_t { + long __sig; + char __opaque[40]; +}; + +struct _opaque_pthread_condattr_t { + long __sig; + char __opaque[8]; +}; + +struct _opaque_pthread_mutex_t { + long __sig; + char __opaque[56]; +}; + +struct _opaque_pthread_mutexattr_t { + long __sig; + char __opaque[8]; +}; + +struct _opaque_pthread_once_t { + long __sig; + char __opaque[8]; +}; + +struct _opaque_pthread_rwlock_t { + long __sig; + char __opaque[192]; +}; + +struct _opaque_pthread_rwlockattr_t { + long __sig; + char __opaque[16]; +}; + +struct _opaque_pthread_t { + long __sig; + struct __darwin_pthread_handler_rec *__cleanup_stack; + char __opaque[8176]; +}; + +typedef struct _opaque_pthread_attr_t __darwin_pthread_attr_t; +typedef struct _opaque_pthread_cond_t __darwin_pthread_cond_t; +typedef struct _opaque_pthread_condattr_t __darwin_pthread_condattr_t; +typedef unsigned long __darwin_pthread_key_t; +typedef struct _opaque_pthread_mutex_t __darwin_pthread_mutex_t; +typedef struct _opaque_pthread_mutexattr_t __darwin_pthread_mutexattr_t; +typedef struct _opaque_pthread_once_t __darwin_pthread_once_t; +typedef struct _opaque_pthread_rwlock_t __darwin_pthread_rwlock_t; +typedef struct _opaque_pthread_rwlockattr_t __darwin_pthread_rwlockattr_t; +typedef struct _opaque_pthread_t *__darwin_pthread_t; +# 81 "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/sys/_types.h" 2 3 4 +# 28 "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/_types.h" 2 3 4 +# 40 "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/_types.h" 3 4 +typedef int __darwin_nl_item; +typedef int __darwin_wctrans_t; + +typedef __uint32_t __darwin_wctype_t; +# 72 "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/_stdio.h" 2 3 4 + + + +# 1 "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/sys/_types/_va_list.h" 1 3 4 +# 31 "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/sys/_types/_va_list.h" 3 4 +# 1 "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/machine/types.h" 1 3 4 +# 35 "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/machine/types.h" 3 4 +# 1 "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/i386/types.h" 1 3 4 +# 79 "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/i386/types.h" 3 4 +# 1 "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/sys/_types/_int8_t.h" 1 3 4 +# 30 "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/sys/_types/_int8_t.h" 3 4 +typedef signed char int8_t; +# 80 "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/i386/types.h" 2 3 4 +# 1 "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/sys/_types/_int16_t.h" 1 3 4 +# 30 "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/sys/_types/_int16_t.h" 3 4 +typedef short int16_t; +# 81 "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/i386/types.h" 2 3 4 +# 1 "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/sys/_types/_int32_t.h" 1 3 4 +# 30 "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/sys/_types/_int32_t.h" 3 4 +typedef int int32_t; +# 82 "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/i386/types.h" 2 3 4 +# 1 "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/sys/_types/_int64_t.h" 1 3 4 +# 30 "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/sys/_types/_int64_t.h" 3 4 +typedef long long int64_t; +# 83 "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/i386/types.h" 2 3 4 + +# 1 "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/sys/_types/_u_int8_t.h" 1 3 4 +# 30 "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/sys/_types/_u_int8_t.h" 3 4 +typedef unsigned char u_int8_t; +# 85 "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/i386/types.h" 2 3 4 +# 1 "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/sys/_types/_u_int16_t.h" 1 3 4 +# 30 "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/sys/_types/_u_int16_t.h" 3 4 +typedef unsigned short u_int16_t; +# 86 "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/i386/types.h" 2 3 4 +# 1 "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/sys/_types/_u_int32_t.h" 1 3 4 +# 30 "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/sys/_types/_u_int32_t.h" 3 4 +typedef unsigned int u_int32_t; +# 87 "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/i386/types.h" 2 3 4 +# 1 "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/sys/_types/_u_int64_t.h" 1 3 4 +# 30 "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/sys/_types/_u_int64_t.h" 3 4 +typedef unsigned long long u_int64_t; +# 88 "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/i386/types.h" 2 3 4 + + +typedef int64_t register_t; + + + + +# 1 "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/sys/_types/_intptr_t.h" 1 3 4 +# 30 "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/sys/_types/_intptr_t.h" 3 4 +# 1 "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/machine/types.h" 1 3 4 +# 31 "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/sys/_types/_intptr_t.h" 2 3 4 + +typedef __darwin_intptr_t intptr_t; +# 96 "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/i386/types.h" 2 3 4 +# 1 "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/sys/_types/_uintptr_t.h" 1 3 4 +# 34 "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/sys/_types/_uintptr_t.h" 3 4 +typedef unsigned long uintptr_t; +# 97 "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/i386/types.h" 2 3 4 + + + +typedef u_int64_t user_addr_t; +typedef u_int64_t user_size_t; +typedef int64_t user_ssize_t; +typedef int64_t user_long_t; +typedef u_int64_t user_ulong_t; +typedef int64_t user_time_t; +typedef int64_t user_off_t; + + + + + + + +typedef u_int64_t syscall_arg_t; +# 36 "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/machine/types.h" 2 3 4 +# 32 "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/sys/_types/_va_list.h" 2 3 4 +typedef __darwin_va_list va_list; +# 76 "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/_stdio.h" 2 3 4 +# 1 "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/sys/_types/_size_t.h" 1 3 4 +# 31 "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/sys/_types/_size_t.h" 3 4 +typedef __darwin_size_t size_t; +# 77 "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/_stdio.h" 2 3 4 +# 1 "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/sys/_types/_null.h" 1 3 4 +# 78 "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/_stdio.h" 2 3 4 + +# 1 "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/sys/stdio.h" 1 3 4 +# 47 "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/sys/stdio.h" 3 4 +int renameat(int, const char *, int, const char *) __attribute__((availability(macosx,introduced=10.10))); + + + +int renamex_np(const char *, const char *, unsigned int) __attribute__((availability(macosx,introduced=10.12))) __attribute__((availability(ios,introduced=10.0))) __attribute__((availability(tvos,introduced=10.0))) __attribute__((availability(watchos,introduced=3.0))); +int renameatx_np(int, const char *, int, const char *, unsigned int) __attribute__((availability(macosx,introduced=10.12))) __attribute__((availability(ios,introduced=10.0))) __attribute__((availability(tvos,introduced=10.0))) __attribute__((availability(watchos,introduced=3.0))); +# 80 "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/_stdio.h" 2 3 4 + +typedef __darwin_off_t fpos_t; +# 92 "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/_stdio.h" 3 4 +struct __sbuf { + unsigned char *_base; + int _size; +}; + + +struct __sFILEX; +# 126 "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/_stdio.h" 3 4 +typedef struct __sFILE { + unsigned char *_p; + int _r; + int _w; + short _flags; + short _file; + struct __sbuf _bf; + int _lbfsize; + + + void *_cookie; + int (* _Nullable _close)(void *); + int (* _Nullable _read) (void *, char *, int); + fpos_t (* _Nullable _seek) (void *, fpos_t, int); + int (* _Nullable _write)(void *, const char *, int); + + + struct __sbuf _ub; + struct __sFILEX *_extra; + int _ur; + + + unsigned char _ubuf[3]; + unsigned char _nbuf[1]; + + + struct __sbuf _lb; + + + int _blksize; + fpos_t _offset; +} FILE; +# 65 "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/stdio.h" 2 3 4 + + +extern FILE *__stdinp; +extern FILE *__stdoutp; +extern FILE *__stderrp; +# 142 "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/stdio.h" 3 4 +void clearerr(FILE *); +int fclose(FILE *); +int feof(FILE *); +int ferror(FILE *); +int fflush(FILE *); +int fgetc(FILE *); +int fgetpos(FILE * restrict, fpos_t *); +char *fgets(char * restrict, int, FILE *); + + + +FILE *fopen(const char * restrict __filename, const char * restrict __mode) __asm("_" "fopen" ); + +int fprintf(FILE * restrict, const char * restrict, ...) __attribute__((__format__ (__printf__, 2, 3))); +int fputc(int, FILE *); +int fputs(const char * restrict, FILE * restrict) __asm("_" "fputs" ); +size_t fread(void * restrict __ptr, size_t __size, size_t __nitems, FILE * restrict __stream); +FILE *freopen(const char * restrict, const char * restrict, + FILE * restrict) __asm("_" "freopen" ); +int fscanf(FILE * restrict, const char * restrict, ...) __attribute__((__format__ (__scanf__, 2, 3))); +int fseek(FILE *, long, int); +int fsetpos(FILE *, const fpos_t *); +long ftell(FILE *); +size_t fwrite(const void * restrict __ptr, size_t __size, size_t __nitems, FILE * restrict __stream) __asm("_" "fwrite" ); +int getc(FILE *); +int getchar(void); +char *gets(char *); +void perror(const char *) __attribute__((__cold__)); +int printf(const char * restrict, ...) __attribute__((__format__ (__printf__, 1, 2))); +int putc(int, FILE *); +int putchar(int); +int puts(const char *); +int remove(const char *); +int rename (const char *__old, const char *__new); +void rewind(FILE *); +int scanf(const char * restrict, ...) __attribute__((__format__ (__scanf__, 1, 2))); +void setbuf(FILE * restrict, char * restrict); +int setvbuf(FILE * restrict, char * restrict, int, size_t); +int sprintf(char * restrict, const char * restrict, ...) __attribute__((__format__ (__printf__, 2, 3))) __attribute__((__availability__(swift, unavailable, message="Use snprintf instead."))); +int sscanf(const char * restrict, const char * restrict, ...) __attribute__((__format__ (__scanf__, 2, 3))); +FILE *tmpfile(void); + +__attribute__((__availability__(swift, unavailable, message="Use mkstemp(3) instead."))) + +__attribute__((__deprecated__("This function is provided for compatibility reasons only. Due to security concerns inherent in the design of tmpnam(3), it is highly recommended that you use mkstemp(3) instead."))) + +char *tmpnam(char *); +int ungetc(int, FILE *); +int vfprintf(FILE * restrict, const char * restrict, va_list) __attribute__((__format__ (__printf__, 2, 0))); +int vprintf(const char * restrict, va_list) __attribute__((__format__ (__printf__, 1, 0))); +int vsprintf(char * restrict, const char * restrict, va_list) __attribute__((__format__ (__printf__, 2, 0))) __attribute__((__availability__(swift, unavailable, message="Use vsnprintf instead."))); +# 205 "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/stdio.h" 3 4 +# 1 "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/_ctermid.h" 1 3 4 +# 31 "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/_ctermid.h" 3 4 +char *ctermid(char *); +# 206 "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/stdio.h" 2 3 4 + + + + +FILE *fdopen(int, const char *) __asm("_" "fdopen" ); + +int fileno(FILE *); +# 223 "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/stdio.h" 3 4 +int pclose(FILE *) __attribute__((__availability__(swift, unavailable, message="Use posix_spawn APIs or NSTask instead. (On iOS, process spawning is unavailable.)"))); + + + +FILE *popen(const char *, const char *) __asm("_" "popen" ) __attribute__((__availability__(swift, unavailable, message="Use posix_spawn APIs or NSTask instead. (On iOS, process spawning is unavailable.)"))); +# 242 "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/stdio.h" 3 4 +int __srget(FILE *); +int __svfscanf(FILE *, const char *, va_list) __attribute__((__format__ (__scanf__, 2, 0))); +int __swbuf(int, FILE *); +# 253 "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/stdio.h" 3 4 +inline __attribute__ ((__always_inline__)) int __sputc(int _c, FILE *_p) { + if (--_p->_w >= 0 || (_p->_w >= _p->_lbfsize && (char)_c != '\n')) + return (*_p->_p++ = _c); + else + return (__swbuf(_c, _p)); +} +# 279 "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/stdio.h" 3 4 +void flockfile(FILE *); +int ftrylockfile(FILE *); +void funlockfile(FILE *); +int getc_unlocked(FILE *); +int getchar_unlocked(void); +int putc_unlocked(int, FILE *); +int putchar_unlocked(int); + + + +int getw(FILE *); +int putw(int, FILE *); + + +__attribute__((__availability__(swift, unavailable, message="Use mkstemp(3) instead."))) + +__attribute__((__deprecated__("This function is provided for compatibility reasons only. Due to security concerns inherent in the design of tempnam(3), it is highly recommended that you use mkstemp(3) instead."))) + +char *tempnam(const char *__dir, const char *__prefix) __asm("_" "tempnam" ); +# 317 "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/stdio.h" 3 4 +# 1 "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/sys/_types/_off_t.h" 1 3 4 +# 31 "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/sys/_types/_off_t.h" 3 4 +typedef __darwin_off_t off_t; +# 318 "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/stdio.h" 2 3 4 + + +int fseeko(FILE * __stream, off_t __offset, int __whence); +off_t ftello(FILE * __stream); + + + + + +int snprintf(char * restrict __str, size_t __size, const char * restrict __format, ...) __attribute__((__format__ (__printf__, 3, 4))); +int vfscanf(FILE * restrict __stream, const char * restrict __format, va_list) __attribute__((__format__ (__scanf__, 2, 0))); +int vscanf(const char * restrict __format, va_list) __attribute__((__format__ (__scanf__, 1, 0))); +int vsnprintf(char * restrict __str, size_t __size, const char * restrict __format, va_list) __attribute__((__format__ (__printf__, 3, 0))); +int vsscanf(const char * restrict __str, const char * restrict __format, va_list) __attribute__((__format__ (__scanf__, 2, 0))); +# 342 "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/stdio.h" 3 4 +# 1 "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/sys/_types/_ssize_t.h" 1 3 4 +# 31 "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/sys/_types/_ssize_t.h" 3 4 +typedef __darwin_ssize_t ssize_t; +# 343 "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/stdio.h" 2 3 4 + + +int dprintf(int, const char * restrict, ...) __attribute__((__format__ (__printf__, 2, 3))) __attribute__((availability(macosx,introduced=10.7))); +int vdprintf(int, const char * restrict, va_list) __attribute__((__format__ (__printf__, 2, 0))) __attribute__((availability(macosx,introduced=10.7))); +ssize_t getdelim(char ** restrict __linep, size_t * restrict __linecapp, int __delimiter, FILE * restrict __stream) __attribute__((availability(macosx,introduced=10.7))); +ssize_t getline(char ** restrict __linep, size_t * restrict __linecapp, FILE * restrict __stream) __attribute__((availability(macosx,introduced=10.7))); +FILE *fmemopen(void * restrict __buf, size_t __size, const char * restrict __mode) __attribute__((availability(macos,introduced=10.13))) __attribute__((availability(ios,introduced=11.0))) __attribute__((availability(tvos,introduced=11.0))) __attribute__((availability(watchos,introduced=4.0))); +FILE *open_memstream(char **__bufp, size_t *__sizep) __attribute__((availability(macos,introduced=10.13))) __attribute__((availability(ios,introduced=11.0))) __attribute__((availability(tvos,introduced=11.0))) __attribute__((availability(watchos,introduced=4.0))); +# 360 "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/stdio.h" 3 4 +extern const int sys_nerr; +extern const char *const sys_errlist[]; + +int asprintf(char ** restrict, const char * restrict, ...) __attribute__((__format__ (__printf__, 2, 3))); +char *ctermid_r(char *); +char *fgetln(FILE *, size_t *); +const char *fmtcheck(const char *, const char *); +int fpurge(FILE *); +void setbuffer(FILE *, char *, int); +int setlinebuf(FILE *); +int vasprintf(char ** restrict, const char * restrict, va_list) __attribute__((__format__ (__printf__, 2, 0))); + + + + + +FILE *funopen(const void *, + int (* _Nullable)(void *, char *, int), + int (* _Nullable)(void *, const char *, int), + fpos_t (* _Nullable)(void *, fpos_t, int), + int (* _Nullable)(void *)); +# 399 "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/stdio.h" 3 4 +# 1 "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/secure/_stdio.h" 1 3 4 +# 31 "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/secure/_stdio.h" 3 4 +# 1 "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/secure/_common.h" 1 3 4 +# 32 "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/secure/_stdio.h" 2 3 4 +# 42 "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/secure/_stdio.h" 3 4 +extern int __sprintf_chk (char * restrict, int, size_t, + const char * restrict, ...); +# 52 "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/secure/_stdio.h" 3 4 +extern int __snprintf_chk (char * restrict, size_t, int, size_t, + const char * restrict, ...); + + + + + + + +extern int __vsprintf_chk (char * restrict, int, size_t, + const char * restrict, va_list); + + + + + + + +extern int __vsnprintf_chk (char * restrict, size_t, int, size_t, + const char * restrict, va_list); +# 400 "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/stdio.h" 2 3 4 +# 5 "jmpbuf.c" 2 +# 1 "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/setjmp.h" 1 3 4 +# 37 "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/setjmp.h" 3 4 +typedef int jmp_buf[((9 * 2) + 3 + 16)]; +typedef int sigjmp_buf[((9 * 2) + 3 + 16) + 1]; +# 87 "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/setjmp.h" 3 4 +extern int setjmp(jmp_buf); +extern void longjmp(jmp_buf, int) __attribute__((__noreturn__)); + + +int _setjmp(jmp_buf); +void _longjmp(jmp_buf, int) __attribute__((__noreturn__)); +int sigsetjmp(sigjmp_buf, int); +void siglongjmp(sigjmp_buf, int) __attribute__((__noreturn__)); + + + +void longjmperror(void); +# 6 "jmpbuf.c" 2 + +int main(int argc, char** argv) +{ + jmp_buf ctx = {0}; + int r0 = setjmp(ctx); + + int nn_jb = sizeof(ctx); + printf("r0=%d, sizeof(jmp_buf)=%d (unsigned long long [%d])\n", r0, nn_jb, nn_jb/8); + return 0; +} diff --git a/trunk/Dockerfile b/trunk/Dockerfile index ea55ecdb9e0..2f00b255fa5 100644 --- a/trunk/Dockerfile +++ b/trunk/Dockerfile @@ -22,16 +22,6 @@ RUN apt-get update && apt-get install -y gcc make g++ patch unzip perl git COPY . /srs WORKDIR /srs/trunk -# Use srs-cache from base image. -RUN if [[ -d /usr/local/srs-cache/srs/trunk/objs ]]; then \ - ./configure --generate-objs=on && \ - SOURCE_DIR=$(ls -d /usr/local/srs-cache/srs/trunk/objs/Platform-*) && \ - TARGET_DIR=$(ls -d objs/Platform-*) && \ - echo "Build from cache, source=$SOURCE_DIR, target=$TARGET_DIR" && \ - rm -rf $TARGET_DIR && mv $SOURCE_DIR $TARGET_DIR && \ - du -sh $TARGET_DIR && ls -lh objs; \ - fi - # Build and install SRS. # Note that SRT is enabled by default, so we configure without --srt=on. RUN ./configure --jobs=${JOBS} && make -j${JOBS} && make install diff --git a/trunk/Dockerfile.builds b/trunk/Dockerfile.builds index 7111eee3ed4..97d74b070fe 100644 --- a/trunk/Dockerfile.builds +++ b/trunk/Dockerfile.builds @@ -1,87 +1,74 @@ ######################################################## -FROM ossrs/srs:dev AS centos7-baseline +FROM ossrs/srs:dev-cache AS centos7-baseline COPY . /srs RUN cd /srs/trunk && ./configure --jobs=2 --srt=off && make -j2 -FROM ossrs/srs:dev AS centos7-no-webrtc +FROM ossrs/srs:dev-cache AS centos7-no-webrtc COPY . /srs RUN cd /srs/trunk && ./configure --jobs=2 --srt=off --rtc=off && make -j2 -FROM ossrs/srs:dev AS centos7-no-asm +FROM ossrs/srs:dev-cache AS centos7-no-asm COPY . /srs RUN cd /srs/trunk && ./configure --jobs=2 --srt=off --nasm=off --srtp-nasm=off && make -j2 -FROM ossrs/srs:dev AS centos7-srt +FROM ossrs/srs:dev-cache AS centos7-srt COPY . /srs RUN cd /srs/trunk && ./configure --jobs=2 --srt=on && make -j2 -FROM ossrs/srs:dev AS centos7-ansi-no-ffmpeg +FROM ossrs/srs:dev-cache AS centos7-ansi-no-ffmpeg COPY . /srs RUN cd /srs/trunk && ./configure --jobs=2 --srt=off --cxx11=off --cxx14=off --ffmpeg-fit=off && make -j2 ######################################################## -FROM ossrs/srs:dev6 AS centos6-baseline +FROM ossrs/srs:dev6-cache AS centos6-baseline COPY . /srs RUN cd /srs/trunk && ./configure --jobs=2 --srt=off --cxx11=off --cxx14=off && make -j2 -FROM ossrs/srs:dev6 AS centos6-srt +FROM ossrs/srs:dev6-cache AS centos6-srt COPY . /srs RUN cd /srs/trunk && ./configure --jobs=2 --srt=on --cxx11=off --cxx14=off && make -j2 ######################################################## -FROM ossrs/srs:dev8 AS centos8-baseline +FROM ossrs/srs:ubuntu16-cache AS ubuntu16-baseline COPY . /srs RUN cd /srs/trunk && ./configure --jobs=2 --srt=off && make -j2 -FROM ossrs/srs:dev8 AS centos8-srt +FROM ossrs/srs:ubuntu16-cache AS ubuntu16-srt COPY . /srs RUN cd /srs/trunk && ./configure --jobs=2 --srt=on && make -j2 ######################################################## -FROM ossrs/srs:ubuntu16 AS ubuntu16-baseline +FROM ossrs/srs:ubuntu18-cache AS ubuntu18-baseline COPY . /srs RUN cd /srs/trunk && ./configure --jobs=2 --srt=off && make -j2 -FROM ossrs/srs:ubuntu16 AS ubuntu16-srt +FROM ossrs/srs:ubuntu18-cache AS ubuntu18-srt COPY . /srs RUN cd /srs/trunk && ./configure --jobs=2 --srt=on && make -j2 ######################################################## -FROM ossrs/srs:ubuntu18 AS ubuntu18-baseline +FROM ossrs/srs:ubuntu20-cache AS ubuntu20-baseline COPY . /srs RUN cd /srs/trunk && ./configure --jobs=2 --srt=off && make -j2 -FROM ossrs/srs:ubuntu18 AS ubuntu18-srt +FROM ossrs/srs:ubuntu20-cache AS ubuntu20-srt COPY . /srs RUN cd /srs/trunk && ./configure --jobs=2 --srt=on && make -j2 ######################################################## -FROM ossrs/srs:ubuntu20 AS ubuntu20-baseline +FROM ossrs/srs:ubuntu16-cross-arm AS ubuntu16-cross-armv7 COPY . /srs -RUN cd /srs/trunk && ./configure --jobs=2 --srt=off && make -j2 - -FROM ossrs/srs:ubuntu20 AS ubuntu20-srt -COPY . /srs -RUN cd /srs/trunk && ./configure --jobs=2 --srt=on && make -j2 - -######################################################## -FROM ossrs/srs:ubuntu16 AS ubuntu16-cross-armv7 -COPY . /srs -RUN cd /srs/trunk && ./configure --jobs=2 --srt=off --cross-build --cc=arm-linux-gnueabihf-gcc --cxx=arm-linux-gnueabihf-g++ \ - --ar=arm-linux-gnueabihf-ar --ld=arm-linux-gnueabihf-ld --randlib=arm-linux-gnueabihf-randlib && make -j2 +RUN cd /srs/trunk && ./configure --jobs=2 --cross-build --cross-prefix=arm-linux-gnueabihf- && make -j2 -FROM ossrs/srs:ubuntu16 AS ubuntu16-cross-aarch64 +FROM ossrs/srs:ubuntu16-cross-aarch64 AS ubuntu16-cross-aarch64 COPY . /srs -RUN cd /srs/trunk && ./configure --jobs=2 --srt=off --cross-build --cc=aarch64-linux-gnu-gcc --cxx=aarch64-linux-gnu-g++ \ - --ar=aarch64-linux-gnu-ar --ld=aarch64-linux-gnu-ld --randlib=aarch64-linux-gnu-randlib && make -j2 +RUN cd /srs/trunk && ./configure --jobs=2 --cross-build --cross-prefix=aarch64-linux-gnu- && make -j2 ######################################################## -FROM ossrs/srs:ubuntu20 AS ubuntu20-cross-armv7 +FROM ossrs/srs:ubuntu20-cross-arm AS ubuntu20-cross-armv7 COPY . /srs -RUN cd /srs/trunk && ./configure --jobs=2 --srt=off --cross-build --cc=arm-linux-gnueabihf-gcc --cxx=arm-linux-gnueabihf-g++ \ - --ar=arm-linux-gnueabihf-ar --ld=arm-linux-gnueabihf-ld --randlib=arm-linux-gnueabihf-randlib && make -j2 +RUN cd /srs/trunk && ./configure --jobs=2 --cross-build --cross-prefix=arm-linux-gnueabihf- && make -j2 -FROM ossrs/srs:ubuntu20 AS ubuntu20-cross-aarch64 +FROM ossrs/srs:ubuntu20-cross-aarch64 AS ubuntu20-cross-aarch64 COPY . /srs -RUN cd /srs/trunk && ./configure --jobs=2 --srt=off --cross-build --cc=aarch64-linux-gnu-gcc --cxx=aarch64-linux-gnu-g++ \ - --ar=aarch64-linux-gnu-ar --ld=aarch64-linux-gnu-ld --randlib=aarch64-linux-gnu-randlib && make -j2 +RUN cd /srs/trunk && ./configure --jobs=2 --cross-build --cross-prefix=aarch64-linux-gnu- && make -j2 diff --git a/trunk/Dockerfile.cov b/trunk/Dockerfile.cov index d86c7cfab4a..6a745d29f93 100644 --- a/trunk/Dockerfile.cov +++ b/trunk/Dockerfile.cov @@ -1,4 +1,4 @@ -FROM ossrs/srs:dev-gcc7 +FROM ossrs/srs:dev-gcc7-cache # Install depends tools. RUN yum install -y gcc make gcc-c++ patch unzip perl git diff --git a/trunk/Dockerfile.test b/trunk/Dockerfile.test index 4559b7b619b..cd12950f784 100644 --- a/trunk/Dockerfile.test +++ b/trunk/Dockerfile.test @@ -1,4 +1,4 @@ -FROM ossrs/srs:dev-gcc7 +FROM ossrs/srs:dev-gcc7-cache # Install depends tools. RUN yum install -y gcc make gcc-c++ patch unzip perl git diff --git a/trunk/auto/depends.sh b/trunk/auto/depends.sh index 65fab111278..fd18e7d3a8c 100755 --- a/trunk/auto/depends.sh +++ b/trunk/auto/depends.sh @@ -369,6 +369,22 @@ if [[ $OS_IS_UBUNTU = NO && $OS_IS_CENTOS = NO && $OS_IS_OSX = NO && $SRS_CROSS_ exit 1 fi +##################################################################################### +# Try to load cache if exists /usr/local/srs-cache +##################################################################################### +# Use srs-cache from base image. +if [[ -d /usr/local/srs-cache/srs/trunk/objs && $(pwd) != "/usr/local/srs-cache/srs/trunk" ]]; then + SOURCE_DIR=$(ls -d /usr/local/srs-cache/srs/trunk/objs/Platform-* 2>/dev/null|head -n 1) + if [[ -d $SOURCE_DIR ]]; then + TARGET_DIR=${SRS_OBJS}/${SRS_PLATFORM} && + echo "Build from cache, source=$SOURCE_DIR, target=$TARGET_DIR" && + rm -rf $TARGET_DIR && mkdir -p ${SRS_OBJS} && cp -R $SOURCE_DIR $TARGET_DIR && + du -sh /usr/local/srs-cache/srs/trunk/objs/Platform-* && + du -sh objs/Platform-* && + ls -lh objs + fi +fi + ##################################################################################### # state-threads #####################################################################################