From 7109583038eb1d122b2500c266ad3182bb35350a Mon Sep 17 00:00:00 2001 From: jeefo Date: Mon, 30 Jul 2018 23:47:50 +0300 Subject: [PATCH 01/11] Testing travis builds. --- .travis.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.travis.yml b/.travis.yml index 4c5b5c4..4558d2d 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,28 +1,28 @@ addons: apt: packages: - - clang-3.8 - lib32stdc++6 - lib32z1-dev - libc6-dev-i386 - linux-libc-dev - gcc-multilib - g++-multilib - sources: - - llvm-toolchain-precise-3.8 - - ubuntu-toolchain-r-test language: cpp branches: only: - master + - travis-fix compiler: - clang +os: + - linux + - osx before_script: - sudo wget https://yapb.ru/ci/crosstool/osxcross.tar.gz -O /tmp/osxcross.tgz && mkdir -p /tmp/osxcross/target && tar xzf /tmp/osxcross.tgz -C /tmp/osxcross/target/ - export PATH=$PATH:/tmp/osxcross/target/bin - wget https://yapb.ru/ci/scripts/gitrev.sh && chmod a+x ./gitrev.sh && ./gitrev.sh script: - - cd project && CC=clang-3.8 make all + - cd project && CC=clang && make all after_success: - curl --ftp-create-dirs -T ./release/yapb.so -u $FTP_USER:$FTP_PASS ftp://$FTP_HOST/project/release/yapb.so - curl --ftp-create-dirs -T ./debug/yapb.so -u $FTP_USER:$FTP_PASS ftp://$FTP_HOST/project/debug/yapb.so From f3fda5b5996e586d9bbe75ec171ee177904f8fbe Mon Sep 17 00:00:00 2001 From: jeefo Date: Mon, 30 Jul 2018 23:59:31 +0300 Subject: [PATCH 02/11] Makefile fixes --- project/makefile | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/project/makefile b/project/makefile index 0328d93..7bc2dbc 100644 --- a/project/makefile +++ b/project/makefile @@ -24,7 +24,7 @@ ifeq "$(DEBUG)" "true" COMPILER_FLAGS += -D_DEBUG -DDEBUG -g3 BINARY_DIR = debug else - COMPILER_FLAGS += -DNDEBUG -pipe -Ofast -msse$(COMPILER_SSE_VERSION) -funroll-loops -fomit-frame-pointer -fno-stack-protector -fvisibility=hidden -fvisibility-inlines-hidden + COMPILER_FLAGS += -DNDEBUG -pipe -O2 -msse$(COMPILER_SSE_VERSION) -funroll-loops -fomit-frame-pointer -fno-stack-protector -fvisibility=hidden -fvisibility-inlines-hidden BINARY_DIR = release endif @@ -33,10 +33,6 @@ COMPILER = $(CC) ifeq "$(shell uname -s)" "Darwin" MACOS = true -else - ifeq "$(MACOS)" "true" - COMPILER = o32-clang - endif endif ifeq "$(MACOS)" "true" @@ -107,4 +103,4 @@ clean: rm -rf release/*.o rm -rf release/$(BINARY_OUTPUT) rm -rf debug/*.o - rm -rf debug/$(BINARY_OUTPUT) \ No newline at end of file + rm -rf debug/$(BINARY_OUTPUT) From d94ce15026d6859f097d541cbfdf0f6aabcf0e52 Mon Sep 17 00:00:00 2001 From: jeefo Date: Tue, 31 Jul 2018 00:00:41 +0300 Subject: [PATCH 03/11] Removing ancient OSX cross tool --- .travis.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index 4558d2d..652cf40 100644 --- a/.travis.yml +++ b/.travis.yml @@ -18,8 +18,6 @@ os: - linux - osx before_script: - - sudo wget https://yapb.ru/ci/crosstool/osxcross.tar.gz -O /tmp/osxcross.tgz && mkdir -p /tmp/osxcross/target && tar xzf /tmp/osxcross.tgz -C /tmp/osxcross/target/ - - export PATH=$PATH:/tmp/osxcross/target/bin - wget https://yapb.ru/ci/scripts/gitrev.sh && chmod a+x ./gitrev.sh && ./gitrev.sh script: - cd project && CC=clang && make all From cae3b3cc88a2bdd5a3722f26eeee5aa08cb9fcb2 Mon Sep 17 00:00:00 2001 From: jeefo Date: Tue, 31 Jul 2018 00:06:06 +0300 Subject: [PATCH 04/11] Removed cross-tool references from makefile. --- project/makefile | 24 +++++------------------- 1 file changed, 5 insertions(+), 19 deletions(-) diff --git a/project/makefile b/project/makefile index 7bc2dbc..1e0c874 100644 --- a/project/makefile +++ b/project/makefile @@ -32,10 +32,10 @@ INCLUDE = -I../include -I../include/engine COMPILER = $(CC) ifeq "$(shell uname -s)" "Darwin" - MACOS = true + OSX = true endif -ifeq "$(MACOS)" "true" +ifeq "$(OSX)" "true" LIBRARY_EXT = dylib COMPILER_FLAGS += -DOSX -D_OSX -DPOSIX LINKER_FLAGS += -dynamiclib -lstdc++ -mmacosx-version-min=10.5 -arch i386 @@ -49,11 +49,11 @@ BINARY_OUTPUT = $(PROJECT).$(LIBRARY_EXT) ifeq ($(findstring clang,$(COMPILER)),clang) COMPILER_FLAGS += -D__extern_always_inline="extern __always_inline" - ifeq "$(MACOS)" "false" + ifeq "$(OSX)" "false" LINKER_FLAGS += -lgcc_eh endif else ifeq ($(findstring gcc,$(COMPILER)),gcc) - ifneq "$(MACOS)" "false" + ifneq "$(OSX)" "false" LINKER_FLAGS += -static-libgcc COMPILER_FLAGS += -funroll-all-loops endif @@ -82,23 +82,9 @@ release: debug: $(MAKE) compile DEBUG=true -release_macos: - $(MAKE) compile MACOS=true DEBUG=false - -debug_macos: - $(MAKE) compile MACOS=true DEBUG=true - -all_linux: +all: $(MAKE) compile DEBUG=true $(MAKE) compile DEBUG=false - -all_macos: - $(MAKE) compile MACOS=true DEBUG=false - $(MAKE) compile MACOS=true DEBUG=true - -all: all_linux all_macos -default: all_linux - clean: rm -rf release/*.o rm -rf release/$(BINARY_OUTPUT) From 7763820b791a164955ff3dc2d0b5d315b29596d5 Mon Sep 17 00:00:00 2001 From: jeefo Date: Tue, 31 Jul 2018 00:09:31 +0300 Subject: [PATCH 05/11] Set minimum OSX SDK to 10.12 Try to remove __extern_always_inline hack. --- project/makefile | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/project/makefile b/project/makefile index 1e0c874..fd85be5 100644 --- a/project/makefile +++ b/project/makefile @@ -38,7 +38,7 @@ endif ifeq "$(OSX)" "true" LIBRARY_EXT = dylib COMPILER_FLAGS += -DOSX -D_OSX -DPOSIX - LINKER_FLAGS += -dynamiclib -lstdc++ -mmacosx-version-min=10.5 -arch i386 + LINKER_FLAGS += -dynamiclib -lstdc++ -mmacosx-version-min=10.12 -arch i386 else LIBRARY_EXT = so COMPILER_FLAGS += -DLINUX -D_LINUX -DPOSIX @@ -48,7 +48,6 @@ endif BINARY_OUTPUT = $(PROJECT).$(LIBRARY_EXT) ifeq ($(findstring clang,$(COMPILER)),clang) - COMPILER_FLAGS += -D__extern_always_inline="extern __always_inline" ifeq "$(OSX)" "false" LINKER_FLAGS += -lgcc_eh endif From add169fbf2bd3004793c7813d1e80d708cefc5b4 Mon Sep 17 00:00:00 2001 From: jeefo Date: Tue, 31 Jul 2018 00:40:22 +0300 Subject: [PATCH 06/11] Upload only correct artifakts --- .travis.yml | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/.travis.yml b/.travis.yml index 652cf40..2da1067 100644 --- a/.travis.yml +++ b/.travis.yml @@ -22,9 +22,15 @@ before_script: script: - cd project && CC=clang && make all after_success: - - curl --ftp-create-dirs -T ./release/yapb.so -u $FTP_USER:$FTP_PASS ftp://$FTP_HOST/project/release/yapb.so - - curl --ftp-create-dirs -T ./debug/yapb.so -u $FTP_USER:$FTP_PASS ftp://$FTP_HOST/project/debug/yapb.so - - curl --ftp-create-dirs -T ./release/yapb.dylib -u $FTP_USER:$FTP_PASS ftp://$FTP_HOST/project/release/yapb.dylib - - curl --ftp-create-dirs -T ./debug/yapb.dylib -u $FTP_USER:$FTP_PASS ftp://$FTP_HOST/project/debug/yapb.dylib - - curl -X GET "https://yapb.ru/agent/packager.php?key=$PACKAGER_KEY&os=posix" + if [[ "$TRAVIS_OS_NAME" == "linux" ]]; + - curl --ftp-create-dirs -T ./release/yapb.so -u $FTP_USER:$FTP_PASS ftp://$FTP_HOST/project/release/yapb.so + - curl --ftp-create-dirs -T ./debug/yapb.so -u $FTP_USER:$FTP_PASS ftp://$FTP_HOST/project/debug/yapb.so + - curl -X GET "https://yapb.ru/agent/packager.php?key=$PACKAGER_KEY&os=linux" + fi + + if [[ "$TRAVIS_OS_NAME" == "osx" ]]; + - curl --ftp-create-dirs -T ./release/yapb.dylib -u $FTP_USER:$FTP_PASS ftp://$FTP_HOST/project/release/yapb.dylib + - curl --ftp-create-dirs -T ./debug/yapb.dylib -u $FTP_USER:$FTP_PASS ftp://$FTP_HOST/project/debug/yapb.dylib + - curl -X GET "https://yapb.ru/agent/packager.php?key=$PACKAGER_KEY&os=osx" + fi From e4204e241b33839f1adf6fb98dd07da7bd02f9d5 Mon Sep 17 00:00:00 2001 From: jeefo Date: Tue, 31 Jul 2018 00:44:26 +0300 Subject: [PATCH 07/11] Fixed syntax error --- .travis.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index 2da1067..942e519 100644 --- a/.travis.yml +++ b/.travis.yml @@ -22,13 +22,13 @@ before_script: script: - cd project && CC=clang && make all after_success: - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; + if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then - curl --ftp-create-dirs -T ./release/yapb.so -u $FTP_USER:$FTP_PASS ftp://$FTP_HOST/project/release/yapb.so - curl --ftp-create-dirs -T ./debug/yapb.so -u $FTP_USER:$FTP_PASS ftp://$FTP_HOST/project/debug/yapb.so - curl -X GET "https://yapb.ru/agent/packager.php?key=$PACKAGER_KEY&os=linux" fi - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; + if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then - curl --ftp-create-dirs -T ./release/yapb.dylib -u $FTP_USER:$FTP_PASS ftp://$FTP_HOST/project/release/yapb.dylib - curl --ftp-create-dirs -T ./debug/yapb.dylib -u $FTP_USER:$FTP_PASS ftp://$FTP_HOST/project/debug/yapb.dylib - curl -X GET "https://yapb.ru/agent/packager.php?key=$PACKAGER_KEY&os=osx" From 1778ee3773dd059fcec5d0593fd96b8a80c06c03 Mon Sep 17 00:00:00 2001 From: jeefo Date: Tue, 31 Jul 2018 00:48:11 +0300 Subject: [PATCH 08/11] My bad at writing scripts. --- .travis.yml | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/.travis.yml b/.travis.yml index 942e519..e80e113 100644 --- a/.travis.yml +++ b/.travis.yml @@ -23,14 +23,12 @@ script: - cd project && CC=clang && make all after_success: if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then - - curl --ftp-create-dirs -T ./release/yapb.so -u $FTP_USER:$FTP_PASS ftp://$FTP_HOST/project/release/yapb.so - - curl --ftp-create-dirs -T ./debug/yapb.so -u $FTP_USER:$FTP_PASS ftp://$FTP_HOST/project/debug/yapb.so - - curl -X GET "https://yapb.ru/agent/packager.php?key=$PACKAGER_KEY&os=linux" - fi - - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then - - curl --ftp-create-dirs -T ./release/yapb.dylib -u $FTP_USER:$FTP_PASS ftp://$FTP_HOST/project/release/yapb.dylib - - curl --ftp-create-dirs -T ./debug/yapb.dylib -u $FTP_USER:$FTP_PASS ftp://$FTP_HOST/project/debug/yapb.dylib - - curl -X GET "https://yapb.ru/agent/packager.php?key=$PACKAGER_KEY&os=osx" + curl --ftp-create-dirs -T ./release/yapb.so -u $FTP_USER:$FTP_PASS ftp://$FTP_HOST/project/release/yapb.so && + curl --ftp-create-dirs -T ./debug/yapb.so -u $FTP_USER:$FTP_PASS ftp://$FTP_HOST/project/debug/yapb.so && + curl -X GET "https://yapb.ru/agent/packager.php?key=$PACKAGER_KEY&os=linux" + elif [[ "$TRAVIS_OS_NAME" == "osx" ]]; then + curl --ftp-create-dirs -T ./release/yapb.dylib -u $FTP_USER:$FTP_PASS ftp://$FTP_HOST/project/release/yapb.dylib && + curl --ftp-create-dirs -T ./debug/yapb.dylib -u $FTP_USER:$FTP_PASS ftp://$FTP_HOST/project/debug/yapb.dylib && + curl -X GET "https://yapb.ru/agent/packager.php?key=$PACKAGER_KEY&os=osx" fi From 999b22755438a50b16a58d5ea4a904c7fe05f1db Mon Sep 17 00:00:00 2001 From: jeefo Date: Tue, 31 Jul 2018 00:53:26 +0300 Subject: [PATCH 09/11] Trying to fix more --- .travis.yml | 15 ++------------- 1 file changed, 2 insertions(+), 13 deletions(-) diff --git a/.travis.yml b/.travis.yml index e80e113..5cc2216 100644 --- a/.travis.yml +++ b/.travis.yml @@ -8,10 +8,6 @@ addons: - gcc-multilib - g++-multilib language: cpp -branches: - only: - - master - - travis-fix compiler: - clang os: @@ -22,13 +18,6 @@ before_script: script: - cd project && CC=clang && make all after_success: - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then - curl --ftp-create-dirs -T ./release/yapb.so -u $FTP_USER:$FTP_PASS ftp://$FTP_HOST/project/release/yapb.so && - curl --ftp-create-dirs -T ./debug/yapb.so -u $FTP_USER:$FTP_PASS ftp://$FTP_HOST/project/debug/yapb.so && - curl -X GET "https://yapb.ru/agent/packager.php?key=$PACKAGER_KEY&os=linux" - elif [[ "$TRAVIS_OS_NAME" == "osx" ]]; then - curl --ftp-create-dirs -T ./release/yapb.dylib -u $FTP_USER:$FTP_PASS ftp://$FTP_HOST/project/release/yapb.dylib && - curl --ftp-create-dirs -T ./debug/yapb.dylib -u $FTP_USER:$FTP_PASS ftp://$FTP_HOST/project/debug/yapb.dylib && - curl -X GET "https://yapb.ru/agent/packager.php?key=$PACKAGER_KEY&os=osx" - fi + - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then curl --ftp-create-dirs -T ./release/yapb.so -u $FTP_USER:$FTP_PASS ftp://$FTP_HOST/project/release/yapb.so && curl --ftp-create-dirs -T ./debug/yapb.so -u $FTP_USER:$FTP_PASS ftp://$FTP_HOST/project/debug/yapb.so && curl -X GET "https://yapb.ru/agent/packager.php?key=$PACKAGER_KEY&os=linux" + - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then curl --ftp-create-dirs -T ./release/yapb.dylib -u $FTP_USER:$FTP_PASS ftp://$FTP_HOST/project/release/yapb.dylib && curl --ftp-create-dirs -T ./debug/yapb.dylib -u $FTP_USER:$FTP_PASS ftp://$FTP_HOST/project/debug/yapb.dylib && curl -X GET "https://yapb.ru/agent/packager.php?key=$PACKAGER_KEY&os=osx" fi From 4e7eaf203c2edb70b28258c0336719d0d598c5e7 Mon Sep 17 00:00:00 2001 From: jeefo Date: Tue, 31 Jul 2018 00:59:33 +0300 Subject: [PATCH 10/11] Update .travis.yml --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 5cc2216..91cbaf7 100644 --- a/.travis.yml +++ b/.travis.yml @@ -18,6 +18,6 @@ before_script: script: - cd project && CC=clang && make all after_success: - - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then curl --ftp-create-dirs -T ./release/yapb.so -u $FTP_USER:$FTP_PASS ftp://$FTP_HOST/project/release/yapb.so && curl --ftp-create-dirs -T ./debug/yapb.so -u $FTP_USER:$FTP_PASS ftp://$FTP_HOST/project/debug/yapb.so && curl -X GET "https://yapb.ru/agent/packager.php?key=$PACKAGER_KEY&os=linux" + - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then curl --ftp-create-dirs -T ./release/yapb.so -u $FTP_USER:$FTP_PASS ftp://$FTP_HOST/project/release/yapb.so && curl --ftp-create-dirs -T ./debug/yapb.so -u $FTP_USER:$FTP_PASS ftp://$FTP_HOST/project/debug/yapb.so && curl -X GET "https://yapb.ru/agent/packager.php?key=$PACKAGER_KEY&os=linux" fi - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then curl --ftp-create-dirs -T ./release/yapb.dylib -u $FTP_USER:$FTP_PASS ftp://$FTP_HOST/project/release/yapb.dylib && curl --ftp-create-dirs -T ./debug/yapb.dylib -u $FTP_USER:$FTP_PASS ftp://$FTP_HOST/project/debug/yapb.dylib && curl -X GET "https://yapb.ru/agent/packager.php?key=$PACKAGER_KEY&os=osx" fi From 2a830fd3e864e1ee62702c341cad8667e1a191b7 Mon Sep 17 00:00:00 2001 From: jeefo Date: Tue, 31 Jul 2018 01:09:11 +0300 Subject: [PATCH 11/11] Bash Genius! --- .travis.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index 91cbaf7..e5a4db9 100644 --- a/.travis.yml +++ b/.travis.yml @@ -18,6 +18,6 @@ before_script: script: - cd project && CC=clang && make all after_success: - - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then curl --ftp-create-dirs -T ./release/yapb.so -u $FTP_USER:$FTP_PASS ftp://$FTP_HOST/project/release/yapb.so && curl --ftp-create-dirs -T ./debug/yapb.so -u $FTP_USER:$FTP_PASS ftp://$FTP_HOST/project/debug/yapb.so && curl -X GET "https://yapb.ru/agent/packager.php?key=$PACKAGER_KEY&os=linux" fi - - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then curl --ftp-create-dirs -T ./release/yapb.dylib -u $FTP_USER:$FTP_PASS ftp://$FTP_HOST/project/release/yapb.dylib && curl --ftp-create-dirs -T ./debug/yapb.dylib -u $FTP_USER:$FTP_PASS ftp://$FTP_HOST/project/debug/yapb.dylib && curl -X GET "https://yapb.ru/agent/packager.php?key=$PACKAGER_KEY&os=osx" fi + - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then curl --ftp-create-dirs -T ./release/yapb.so -u $FTP_USER:$FTP_PASS ftp://$FTP_HOST/project/release/yapb.so && curl --ftp-create-dirs -T ./debug/yapb.so -u $FTP_USER:$FTP_PASS ftp://$FTP_HOST/project/debug/yapb.so && curl -X GET "https://yapb.ru/agent/packager.php?key=$PACKAGER_KEY&os=linux"; fi + - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then curl --ftp-create-dirs -T ./release/yapb.dylib -u $FTP_USER:$FTP_PASS ftp://$FTP_HOST/project/release/yapb.dylib && curl --ftp-create-dirs -T ./debug/yapb.dylib -u $FTP_USER:$FTP_PASS ftp://$FTP_HOST/project/debug/yapb.dylib && curl -X GET "https://yapb.ru/agent/packager.php?key=$PACKAGER_KEY&os=osx"; fi