From 7cf5b563927bc79748969d26e84d16884bbe4d73 Mon Sep 17 00:00:00 2001 From: ruki Date: Mon, 24 Oct 2022 22:57:21 +0800 Subject: support openbsd --- .github/workflows/openbsd.yml | 4 ++-- core/makefile | 2 +- core/plat/bsd/prefix.mak | 2 +- core/src/xmake/engine.c | 2 +- core/src/xmake/os/cpuinfo.c | 2 +- core/src/xmake/os/meminfo.c | 2 +- scripts/srcenv.profile | 2 ++ 7 files changed, 9 insertions(+), 7 deletions(-) diff --git a/.github/workflows/openbsd.yml b/.github/workflows/openbsd.yml index 0ab7743ad..a064de185 100644 --- a/.github/workflows/openbsd.yml +++ b/.github/workflows/openbsd.yml @@ -25,9 +25,9 @@ jobs: usesh: true mem: 4096 copyback: false - prepare: pkg install -y curl unzip gmake llvm gsed bash perl5 + prepare: pkg_add curl unzip gmake llvm gsed bash perl5 run: | - gmake -j4 + gmake -j4 BUILD_ARCH=x86_64 gmake install export XMAKE_ROOT=y xrepo --version diff --git a/core/makefile b/core/makefile index 2104bb688..297c497e6 100644 --- a/core/makefile +++ b/core/makefile @@ -295,7 +295,7 @@ base_LIBPATH := base_LIBNAMES := base_LIBNAMES += $(shell if { cat detect/curses.c | $(CC) -xc - -lcurses -ltinfo -o /dev/null 2>/dev/null; }; then echo curses tinfo; fi ) base_LIBNAMES += $(shell if { cat detect/readline.c | $(CC) -xc - -lreadline -o /dev/null 2>/dev/null; }; then echo readline; fi ) -base_LIBNAMES += m dl pthread +base_LIBNAMES += m pthread endif # get branch and commit diff --git a/core/plat/bsd/prefix.mak b/core/plat/bsd/prefix.mak index cee3a4406..e9486bdb6 100644 --- a/core/plat/bsd/prefix.mak +++ b/core/plat/bsd/prefix.mak @@ -91,7 +91,7 @@ CCFLAGS := $(CXXFLAGS) -D_ISOC99_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_S # ldflags LDFLAGS_RELEASE = -LDFLAGS_DEBUG = -rdynamic +LDFLAGS_DEBUG = -rdynamic -lexecinfo LDFLAGS := $(LDFLAGS) $(AHFLAGS) $(LDFLAGS_CHECK) LDFLAGS-L = -L LDFLAGS-l = -l diff --git a/core/src/xmake/engine.c b/core/src/xmake/engine.c index 20b845ccb..4331fa715 100644 --- a/core/src/xmake/engine.c +++ b/core/src/xmake/engine.c @@ -52,7 +52,7 @@ */ #if defined(TB_CONFIG_OS_LINUX) # define XM_PROC_SELF_FILE "/proc/self/exe" -#elif defined(TB_CONFIG_OS_BSD) +#elif defined(TB_CONFIG_OS_BSD) && !defined(__OpenBSD__) # if defined(__FreeBSD__) # define XM_PROC_SELF_FILE "/proc/curproc/file" # elif defined(__NetBSD__) diff --git a/core/src/xmake/os/cpuinfo.c b/core/src/xmake/os/cpuinfo.c index 2cbb931ce..1e7753940 100644 --- a/core/src/xmake/os/cpuinfo.c +++ b/core/src/xmake/os/cpuinfo.c @@ -185,7 +185,7 @@ static tb_float_t xm_os_cpuinfo_usagerate() } } return usagerate; -#elif defined(TB_CONFIG_OS_BSD) +#elif defined(TB_CONFIG_OS_BSD) && !defined(__OpenBSD__) # define CP_USER 0 # define CP_NICE 1 # define CP_SYS 2 diff --git a/core/src/xmake/os/meminfo.c b/core/src/xmake/os/meminfo.c index cd9ace234..b3bb435cd 100644 --- a/core/src/xmake/os/meminfo.c +++ b/core/src/xmake/os/meminfo.c @@ -135,7 +135,7 @@ static tb_bool_t xm_os_meminfo_stats(tb_int_t* ptotalsize, tb_int_t* pavailsize) *pavailsize = (tb_int_t)(statex.ullAvailPhys / (1024 * 1024)); return tb_true; } -#elif defined(TB_CONFIG_OS_BSD) +#elif defined(TB_CONFIG_OS_BSD) && !defined(__OpenBSD__) unsigned long totalsize; size_t size = sizeof(totalsize); if (sysctlbyname("hw.physmem", &totalsize, &size, tb_null, 0) != 0) diff --git a/scripts/srcenv.profile b/scripts/srcenv.profile index ead66b4f8..c673b2636 100755 --- a/scripts/srcenv.profile +++ b/scripts/srcenv.profile @@ -2,8 +2,10 @@ export XMAKE_PROGRAM_DIR=`pwd`/xmake if [ -f `pwd`/core/build/xmake ]; then alias xmake=`pwd`/core/build/xmake + export XMAKE_PROGRAM_FILE=`pwd`/core/build/xmake else alias xmake=`pwd`/core/src/demo/demo.b + export XMAKE_PROGRAM_FILE=`pwd`/core/src/demo/demo.b fi alias xrepo=`pwd`/scripts/xrepo.sh xmake --version -- cgit v1.3.1 From 57a2967cbac9338b412d9bb883191d1c6f756e03 Mon Sep 17 00:00:00 2001 From: ruki Date: Mon, 24 Oct 2022 23:15:53 +0800 Subject: improve openbsd for arch --- .github/workflows/openbsd.yml | 2 +- core/makefile | 2 ++ makefile | 2 ++ 3 files changed, 5 insertions(+), 1 deletion(-) diff --git a/.github/workflows/openbsd.yml b/.github/workflows/openbsd.yml index a064de185..c86a794c3 100644 --- a/.github/workflows/openbsd.yml +++ b/.github/workflows/openbsd.yml @@ -27,7 +27,7 @@ jobs: copyback: false prepare: pkg_add curl unzip gmake llvm gsed bash perl5 run: | - gmake -j4 BUILD_ARCH=x86_64 + gmake -j4 gmake install export XMAKE_ROOT=y xrepo --version diff --git a/core/makefile b/core/makefile index 297c497e6..c7771307c 100644 --- a/core/makefile +++ b/core/makefile @@ -158,12 +158,14 @@ BUILD_ARCH :=$(if $(findstring msys,$(PLAT)),$(MSYSARCH),$(BUILD_ARCH)) BUILD_ARCH :=$(if $(findstring cygwin,$(PLAT)),x$(shell getconf LONG_BIT),$(BUILD_ARCH)) BUILD_ARCH :=$(if $(findstring macosx,$(PLAT)),$(shell uname -m),$(BUILD_ARCH)) BUILD_ARCH :=$(if $(findstring linux,$(PLAT)),$(shell uname -m),$(BUILD_ARCH)) +BUILD_ARCH :=$(if $(findstring bsd,$(PLAT)),$(shell uname -m),$(BUILD_ARCH)) BUILD_ARCH :=$(if $(findstring bsd,$(PLAT)),x$(shell getconf LONG_BIT),$(BUILD_ARCH)) BUILD_ARCH :=$(if $(findstring iphoneos,$(PLAT)),arm64,$(BUILD_ARCH)) BUILD_ARCH :=$(if $(findstring android,$(PLAT)),armv7,$(BUILD_ARCH)) BUILD_ARCH :=$(if $(findstring i686,$(BUILD_ARCH)),i386,$(BUILD_ARCH)) BUILD_ARCH :=$(if $(findstring x32,$(BUILD_ARCH)),i386,$(BUILD_ARCH)) BUILD_ARCH :=$(if $(findstring x64,$(BUILD_ARCH)),x86_64,$(BUILD_ARCH)) +BUILD_ARCH :=$(if $(findstring amd64,$(BUILD_ARCH)),x86_64,$(BUILD_ARCH)) # on termux/ci ifneq ($(TERMUX_ARCH),) diff --git a/makefile b/makefile index 906fa8d4c..ba512df6a 100644 --- a/makefile +++ b/makefile @@ -50,12 +50,14 @@ BUILD_ARCH :=$(if $(findstring msys,$(PLAT)),$(MSYSARCH),$(BUILD_ARCH)) BUILD_ARCH :=$(if $(findstring cygwin,$(PLAT)),x$(shell getconf LONG_BIT),$(BUILD_ARCH)) BUILD_ARCH :=$(if $(findstring macosx,$(PLAT)),$(shell uname -m),$(BUILD_ARCH)) BUILD_ARCH :=$(if $(findstring linux,$(PLAT)),$(shell uname -m),$(BUILD_ARCH)) +BUILD_ARCH :=$(if $(findstring bsd,$(PLAT)),$(shell uname -m),$(BUILD_ARCH)) BUILD_ARCH :=$(if $(findstring bsd,$(PLAT)),x$(shell getconf LONG_BIT),$(BUILD_ARCH)) BUILD_ARCH :=$(if $(findstring iphoneos,$(PLAT)),arm64,$(BUILD_ARCH)) BUILD_ARCH :=$(if $(findstring android,$(PLAT)),armv7,$(BUILD_ARCH)) BUILD_ARCH :=$(if $(findstring i686,$(BUILD_ARCH)),i386,$(BUILD_ARCH)) BUILD_ARCH :=$(if $(findstring x32,$(BUILD_ARCH)),i386,$(BUILD_ARCH)) BUILD_ARCH :=$(if $(findstring x64,$(BUILD_ARCH)),x86_64,$(BUILD_ARCH)) +BUILD_ARCH :=$(if $(findstring amd64,$(BUILD_ARCH)),x86_64,$(BUILD_ARCH)) # on termux/ci ifneq ($(TERMUX_ARCH),) -- cgit v1.3.1