diff --git a/.travis.yml b/.travis.yml index 4c5b5c4..e5a4db9 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,32 +1,23 @@ 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 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 - - 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" ]]; 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 diff --git a/project/makefile b/project/makefile index 0328d93..fd85be5 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 @@ -32,17 +32,13 @@ INCLUDE = -I../include -I../include/engine COMPILER = $(CC) ifeq "$(shell uname -s)" "Darwin" - MACOS = true -else - ifeq "$(MACOS)" "true" - COMPILER = o32-clang - endif + 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 + LINKER_FLAGS += -dynamiclib -lstdc++ -mmacosx-version-min=10.12 -arch i386 else LIBRARY_EXT = so COMPILER_FLAGS += -DLINUX -D_LINUX -DPOSIX @@ -52,12 +48,11 @@ endif 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 @@ -86,25 +81,11 @@ 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) rm -rf debug/*.o - rm -rf debug/$(BINARY_OUTPUT) \ No newline at end of file + rm -rf debug/$(BINARY_OUTPUT)