From 9f80b5ca136fb3865e9852fbbd68c13541fd7b1b Mon Sep 17 00:00:00 2001 From: Vitalii Koshura Date: Fri, 6 Oct 2023 02:08:50 +0200 Subject: [PATCH] Add sporadic sample app to the linux and android CI pipelines Signed-off-by: Vitalii Koshura --- deploy/prepare_deployment.py | 14 +++++++-- samples/Makefile.am | 2 +- samples/sporadic/Makefile | 59 +++++++++++++++++++++++++++++++++--- 3 files changed, 66 insertions(+), 9 deletions(-) diff --git a/deploy/prepare_deployment.py b/deploy/prepare_deployment.py index 9d9a8a147b..a8d0a12d5a 100644 --- a/deploy/prepare_deployment.py +++ b/deploy/prepare_deployment.py @@ -42,7 +42,8 @@ linux_apps_list = [ './samples/wrapper/wrapper', './samples/openclapp/openclapp', './samples/wrappture/wrappture_example', - './samples/wrappture/fermi' + './samples/wrappture/fermi', + './samples/sporadic/sporadic' ] linux_manager_list = [ @@ -67,7 +68,8 @@ mingw_apps_vcpkg_list = [ './samples/worker/worker.exe', './samples/wrapper/wrapper.exe', './samples/wrappture/wrappture_example.exe', - './samples/wrappture/fermi.exe' + './samples/wrappture/fermi.exe', + './samples/sporadic/sporadic.exe' ] android_manager_generic_list = [ @@ -139,7 +141,13 @@ android_apps_list = [ './samples/wrappture/android_arm_fermi', './samples/wrappture/android_arm64_fermi', './samples/wrappture/android_x86_fermi', - './samples/wrappture/android_x86_64_fermi' + './samples/wrappture/android_x86_64_fermi', + # sporadic + './samples/sporadic/android_armv6_sporadic', + './samples/sporadic/android_arm_sporadic', + './samples/sporadic/android_arm64_sporadic', + './samples/sporadic/android_x86_sporadic', + './samples/sporadic/android_x86_64_sporadic' ] windows_apps_list = [ diff --git a/samples/Makefile.am b/samples/Makefile.am index e2cd86a452..ca89532b4f 100644 --- a/samples/Makefile.am +++ b/samples/Makefile.am @@ -16,7 +16,7 @@ endif ## list the apps that should be build ## NOTE: nvcuda and wrappture need external libraries -SUBDIRS = condor example_app multi_thread sleeper worker wrapper +SUBDIRS = condor example_app multi_thread sleeper sporadic worker wrapper if BUILD_WITH_VBOX SUBDIRS += vboxmonitor vboxwrapper diff --git a/samples/sporadic/Makefile b/samples/sporadic/Makefile index 4d6eff1ec1..7a9be28f28 100644 --- a/samples/sporadic/Makefile +++ b/samples/sporadic/Makefile @@ -1,8 +1,57 @@ + +BOINC_DIR = ../.. +BOINC_SOURCE_API_DIR = $(BOINC_DIR)/api +BOINC_SOURCE_LIB_DIR = $(BOINC_DIR)/lib +BOINC_SOURCE_ZIP_DIR = $(BOINC_DIR)/zip + +ifdef ANDROID + BOINC_API_DIR = $(TCINCLUDES)/lib + BOINC_LIB_DIR = $(TCINCLUDES)/lib + BOINC_ZIP_DIR = $(TCINCLUDES)/lib + + MAKEFILE_LDFLAGS = + MAKEFILE_STDLIB = +else + BOINC_API_DIR = $(BOINC_SOURCE_API_DIR) + BOINC_LIB_DIR = $(BOINC_SOURCE_LIB_DIR) + BOINC_ZIP_DIR = $(BOINC_SOURCE_ZIP_DIR) + + MAKEFILE_LDFLAGS = -lpthread libstdc++.a + MAKEFILE_STDLIB = libstdc++.a +endif + +CXXFLAGS += -g \ + -Wall -W -Wshadow -Wpointer-arith -Wcast-qual -Wcast-align -Wwrite-strings -fno-common \ + -I$(BOINC_DIR) \ + -I$(BOINC_SOURCE_API_DIR) \ + -I$(BOINC_SOURCE_LIB_DIR) \ + -I$(BOINC_SOURCE_ZIP_DIR) \ + -L$(BOINC_API_DIR) \ + -L$(BOINC_LIB_DIR) \ + -L. + +ifdef BUILD_WITH_VCPKG + BUILD_DIR = $(BOINC_DIR)/3rdParty/linux + VCPKG_DIR ?= $(BUILD_DIR)/vcpkg/installed/x64-linux + + CXXFLAGS += \ + -I$(VCPKG_DIR)/include \ + -L$(VCPKG_DIR)/lib +endif + all: sporadic -INC_DIRS = -I ../../api -I ../../lib -LIB_DIRS = -L ../../api -L ../../lib -CXX = g++ $(INC_DIRS) +libstdc++.a: + ln -s `$(CXX) -print-file-name=libstdc++.a` -sporadic: sporadic.cpp - $(CXX) $(LIB_DIRS) sporadic.cpp -lboinc_api -lboinc -lpthread -o sporadic +clean: distclean + +distclean: + /bin/rm -f sporadic $(addsuffix .exe, sporadic) *.o libstdc++.a + +install: sporadic + +sporadic: sporadic.o $(MAKEFILE_STDLIB) $(BOINC_API_DIR)/libboinc_api.a $(BOINC_LIB_DIR)/libboinc.a + $(CXX) $(CXXFLAGS) $(CPPFLAGS) $(LDFLAGS) -o sporadic sporadic.o \ + -lboinc_api -lboinc $(MAKEFILE_LDFLAGS) \ + $(STDCPPTC)