Browse Source

Fix ABI compatibility tool on macOS

yhirose 10 tháng trước cách đây
mục cha
commit
39a64fb4e7
3 tập tin đã thay đổi với 16 bổ sung15 xóa
  1. 1 0
      .gitignore
  2. 1 1
      test/Makefile
  3. 14 14
      test/check-shared-library-abi-compatibility.sh

+ 1 - 0
.gitignore

@@ -23,6 +23,7 @@ test/test.xcodeproj/*/xcuser*
 test/*.o
 test/*.pem
 test/*.srl
+test/_build_*
 work/
 benchmark/server*
 

+ 1 - 1
test/Makefile

@@ -69,5 +69,5 @@ cert.pem:
 	./gen-certs.sh
 
 clean:
-	rm -f test test_split test_proxy server_fuzzer *.pem *.0 *.o *.1 *.srl httplib.h httplib.cc
+	rm -rf test test_split test_proxy server_fuzzer *.pem *.0 *.o *.1 *.srl httplib.h httplib.cc _build*
 

+ 14 - 14
test/check-shared-library-abi-compatibility.sh

@@ -1,8 +1,6 @@
 #!/usr/bin/env bash
-CURRENT_COMMIT=$(git rev-parse HEAD)
-PREVIOUS_VERSION=$(git describe --tags --abbrev=0 $CURRENT_COMMIT)
-
-BUILD_DIR=_build_for_is_abi_compatible
+PREVIOUS_VERSION=$(git describe --tags --abbrev=0 master)
+BUILD_DIR=_build_for_abi_compatibility_check
 
 # Make the build directory
 rm -rf $BUILD_DIR
@@ -29,6 +27,7 @@ cd ..
 
 # Build the nearest vesion
 cd old
+
 cmake \
   -DCMAKE_BUILD_TYPE=Debug \
   -DCMAKE_CXX_FLAGS="-g -Og" \
@@ -44,15 +43,16 @@ cmake --build . --target clean > /dev/null
 cd ..
 
 # Checkout the original commit
-if [ "$CURRENT_COMMIT" = "$(git rev-parse master)" ]; then
-  git checkout -q  master
-else
-  git checkout -q "${CURRENT_COMMIT}"
-fi
+git checkout -q  master
 
 # ABI compatibility check
-../check-abi-compatibility.sh ./old/out/lib/libcpp-httplib.so ./new/out/lib/libcpp-httplib.so
-
-# Clean the build directory
-cd ..
-rm -rf $BUILD_DIR
+if [[ "$OSTYPE" == "linux-gnu"* ]]; then
+  ../check-abi-compatibility.sh ./old/out/lib/libcpp-httplib.so ./new/out/lib/libcpp-httplib.so
+  exit $?
+elif [[ "$OSTYPE" == "darwin"* ]]; then
+  ../check-abi-compatibility.sh ./old/out/lib/libcpp-httplib.dylib ./new/out/lib/libcpp-httplib.dylib
+  exit $?
+else
+  echo "Unknown OS..."
+  exit 1
+fi