Skip to content

Commit cbc9f22

Browse files
committed
support build for x86_64
1 parent e0fb5a4 commit cbc9f22

File tree

9 files changed

+40
-35
lines changed

9 files changed

+40
-35
lines changed

build-hnp/Makefile

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,9 @@ STAMP=$(patsubst %,%/.stamp,$(PKGS))
88
all: copy
99

1010
copy: harmonix-public.hnp
11-
rm -f ../entry/hnp/arm64-v8a/*.hnp
12-
cp $^ ../entry/hnp/arm64-v8a/harmonix-private.hnp
13-
cp $^ ../entry/hnp/arm64-v8a/harmonix-public.hnp
11+
rm -f ../entry/hnp/$(OHOS_ABI)/*.hnp
12+
cp $^ ../entry/hnp/$(OHOS_ABI)/harmonix-private.hnp
13+
cp $^ ../entry/hnp/$(OHOS_ABI)/harmonix-public.hnp
1414

1515
harmonix-public.hnp: $(STAMP) Makefile
1616
# reduce size

build-hnp/libglib/Makefile

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,16 +6,18 @@ all: download/glib
66
cd temp && cp -vr ../download/glib glib
77
cd temp/glib && rm cross.txt || true
88
cd temp/glib && echo "[binaries]" >> cross.txt
9-
cd temp/glib && echo "c = '${OHOS_SDK_HOME}/native/llvm/bin/aarch64-unknown-linux-ohos-clang'" >> cross.txt
10-
cd temp/glib && echo "cpp = '${OHOS_SDK_HOME}/native/llvm/bin/aarch64-unknown-linux-ohos-clang++'" >> cross.txt
9+
cd temp/glib && echo "c = '${OHOS_SDK_HOME}/native/llvm/bin/$(OHOS_ARCH)-unknown-linux-ohos-clang'" >> cross.txt
10+
cd temp/glib && echo "cpp = '${OHOS_SDK_HOME}/native/llvm/bin/$(OHOS_ARCH)-unknown-linux-ohos-clang++'" >> cross.txt
1111
cd temp/glib && echo "ar = '${OHOS_SDK_HOME}/native/llvm/bin/llvm-ar'" >> cross.txt
1212
cd temp/glib && echo "ld = '${OHOS_SDK_HOME}/native/llvm/bin/ld.lld'" >> cross.txt
1313
cd temp/glib && echo "strip = '${OHOS_SDK_HOME}/native/llvm/bin/llvm-strip'" >> cross.txt
1414
cd temp/glib && echo "[host_machine]" >> cross.txt
1515
cd temp/glib && echo "system = 'linux'" >> cross.txt
16-
cd temp/glib && echo "cpu_family = 'aarch64'" >> cross.txt
17-
cd temp/glib && echo "cpu = 'aarch64'" >> cross.txt
16+
cd temp/glib && echo "cpu_family = '$(OHOS_ARCH)'" >> cross.txt
17+
cd temp/glib && echo "cpu = '$(OHOS_ARCH)'" >> cross.txt
1818
cd temp/glib && echo "endian = 'little'" >> cross.txt
19+
cd temp/glib && echo "[properties]" >> cross.txt
20+
cd temp/glib && echo "needs_exe_wrapper = true" >> cross.txt
1921
cd temp/glib && PKG_CONFIG=$(shell which pkg-config) PKG_CONFIG_LIBDIR=$(shell pwd)/../buildroot/lib/pkgconfig meson --cross-file cross.txt --prefix=/ -Dselinux=false -Dinstalled_tests=false -Ddtrace=disabled -Dsystemtap=disabled -Dselinux=disabled -Dlibelf=disabled -Dlibmount=disabled -Ddefault_library=both build
2022
cd temp/glib/build && meson compile
2123
mkdir -p ../buildroot

build-hnp/pcre2/Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ all: download/pcre2-10.45.tar.gz
33
mkdir -p temp build
44
cd temp && tar xvf ../download/pcre2-10.45.tar.gz
55
cd temp/pcre2-10.45 && mkdir build
6-
cd temp/pcre2-10.45/build && PKG_CONFIG=/usr/bin/false cmake ../ -DPCRE2_BUILD_PCRE2_32=ON -DCMAKE_INSTALL_PREFIX=/ -DCMAKE_SYSTEM_NAME=Linux -DCMAKE_SYSTEM_PROCESSOR=aarch64 -DBUILD_STATIC_LIBS=ON -DBUILD_SHARED_LIBS=ON -DCMAKE_C_COMPILER=$(OHOS_SDK_HOME)/native/llvm/bin/aarch64-unknown-linux-ohos-clang -DCMAKE_CXX_COMPILER=$(OHOS_SDK_HOME)/native/llvm/bin/aarch64-unknown-linux-ohos-clang -DCMAKE_BUILD_TYPE=RelWithDebInfo
6+
cd temp/pcre2-10.45/build && PKG_CONFIG=/usr/bin/false cmake ../ -DPCRE2_BUILD_PCRE2_32=ON -DCMAKE_INSTALL_PREFIX=/ -DCMAKE_SYSTEM_NAME=Linux -DCMAKE_SYSTEM_PROCESSOR=$(OHOS_ARCH) -DBUILD_STATIC_LIBS=ON -DBUILD_SHARED_LIBS=ON -DCMAKE_C_COMPILER=$(OHOS_SDK_HOME)/native/llvm/bin/$(OHOS_ARCH)-unknown-linux-ohos-clang -DCMAKE_CXX_COMPILER=$(OHOS_SDK_HOME)/native/llvm/bin/$(OHOS_ARCH)-unknown-linux-ohos-clang -DCMAKE_BUILD_TYPE=RelWithDebInfo
77
cd temp/pcre2-10.45/build && make -j $(shell nproc) && make install DESTDIR=$(shell pwd)/build
88
mkdir -p ../buildroot
99
cp -rfv build/. ../buildroot | tee file.lst

build-hnp/qemu-10/Makefile

Lines changed: 24 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,24 @@
1-
include ../utils/Makefrag
2-
3-
all: download/qemu
4-
rm -rf temp build
5-
mkdir -p temp build/bin
6-
cd download/qemu && git worktree add -f $(shell pwd)/temp/qemu HEAD
7-
cd temp/qemu && \
8-
PKG_CONFIG=$(shell which pkg-config) \
9-
PKG_CONFIG_PATH= \
10-
PKG_CONFIG_LIBDIR=$(shell pwd)/../buildroot/lib/pkgconfig:$(shell pwd)/../buildroot/share/pkgconfig \
11-
PKG_CONFIG_SYSROOT_DIR=$(shell pwd)/../buildroot \
12-
CFLAGS="-D_UAPI_LINUX_VIRTIO_VSOCK_H -D_UAPI_LINUX_VIRTIO_TYPES_H -D_UAPI_LINUX_VIRTIO_RING_H -D_UAPI_LINUX_VIRTIO_PMEM_H -D_UAPI_LINUX_VIRTIO_NET_H -D_UAPI_LINUX_VIRTIO_IOMMU_H -D_UAPI_LINUX_VIRTIO_FS_H -D_UAPI_LINUX_VIRTIO_CONSOLE_H -D_UAPI_LINUX_VIRTIO_CONFIG_H -D_LINUX_SYSINFO_H -UHAVE_OPENAT2_H -UTARGET_NR_mq_open -D__user= -D__force= ${CFLAGS}" \
13-
./configure --target-list=aarch64-linux-user,x86_64-linux-user --cross-prefix= --host-cc=cc --disable-kvm --disable-xen --disable-rust --disable-docs --disable-system --enable-tcg-interpreter --disable-werror --static \
14-
--disable-bsd-user --disable-guest-agent --disable-gcrypt --disable-debug-info --disable-debug-tcg --enable-attr --disable-brlapi --disable-linux-aio --disable-bzip2 --disable-cap-ng --disable-curl --disable-fdt --disable-glusterfs --disable-gnutls --disable-nettle --disable-gtk --disable-rdma --disable-libiscsi --disable-vnc-jpeg --disable-kvm --disable-lzo --disable-curses --disable-libnfs --disable-numa --disable-opengl --disable-rbd --disable-vnc-sasl --disable-sdl --disable-seccomp --disable-smartcard --disable-snappy --disable-spice --disable-libusb --disable-usb-redir --disable-vde --disable-vhost-net --disable-virglrenderer --disable-virtfs --disable-vnc --disable-vte --disable-xen --disable-xen-pci-passthrough --enable-linux-user --disable-tools
15-
cd temp/qemu && make -j $(shell nproc) && make install DESTDIR=$(shell pwd)/build
16-
$(OHOS_SDK_HOME)/native/llvm/bin/llvm-strip ./build/usr/local/bin/*
17-
mkdir -p ../sysroot/bin
18-
cp -rv ./build/usr/local/bin/qemu-aarch64 ../sysroot/bin/qemu-harmonix-aarch64
19-
cp -rv ./build/usr/local/bin/qemu-x86_64 ../sysroot/bin/qemu-harmonix-x86_64
20-
cp -rv ./scripts/* ../sysroot/bin/
21-
22-
download/qemu:
23-
mkdir -p download
24-
cd download && git clone -b termony-qemu-10-vroot --depth=100 https://github.com/hackeris/harmony-qemu qemu
1+
include ../utils/Makefrag
2+
3+
all: download/qemu
4+
rm -rf temp build
5+
mkdir -p temp build/bin
6+
cd download/qemu && git worktree add -f $(shell pwd)/temp/qemu HEAD
7+
cd temp/qemu && \
8+
PKG_CONFIG=$(shell which pkg-config) \
9+
PKG_CONFIG_PATH= \
10+
PKG_CONFIG_LIBDIR=$(shell pwd)/../buildroot/lib/pkgconfig:$(shell pwd)/../buildroot/share/pkgconfig \
11+
PKG_CONFIG_SYSROOT_DIR=$(shell pwd)/../buildroot \
12+
CFLAGS="-D_UAPI_LINUX_VIRTIO_VSOCK_H -D_UAPI_LINUX_VIRTIO_TYPES_H -D_UAPI_LINUX_VIRTIO_RING_H -D_UAPI_LINUX_VIRTIO_PMEM_H -D_UAPI_LINUX_VIRTIO_NET_H -D_UAPI_LINUX_VIRTIO_IOMMU_H -D_UAPI_LINUX_VIRTIO_FS_H -D_UAPI_LINUX_VIRTIO_CONSOLE_H -D_UAPI_LINUX_VIRTIO_CONFIG_H -D_LINUX_SYSINFO_H -UHAVE_OPENAT2_H -UTARGET_NR_mq_open -D__user= -D__force= ${CFLAGS}" \
13+
./configure --target-list=aarch64-linux-user,x86_64-linux-user --cross-prefix= --host-cc=cc --disable-kvm --disable-xen --disable-rust --disable-docs --disable-system --enable-tcg-interpreter --disable-werror --static \
14+
--disable-bsd-user --disable-guest-agent --disable-gcrypt --disable-debug-info --disable-debug-tcg --enable-attr --disable-brlapi --disable-linux-aio --disable-bzip2 --disable-cap-ng --disable-curl --disable-fdt --disable-glusterfs --disable-gnutls --disable-nettle --disable-gtk --disable-rdma --disable-libiscsi --disable-vnc-jpeg --disable-kvm --disable-lzo --disable-curses --disable-libnfs --disable-numa --disable-opengl --disable-rbd --disable-vnc-sasl --disable-sdl --disable-seccomp --disable-smartcard --disable-snappy --disable-spice --disable-libusb --disable-usb-redir --disable-vde --disable-vhost-net --disable-virglrenderer --disable-virtfs --disable-vnc --disable-vte --disable-xen --disable-xen-pci-passthrough --enable-linux-user --disable-tools
15+
cd temp/qemu && make -j $(shell nproc) && make install DESTDIR=$(shell pwd)/build
16+
$(OHOS_SDK_HOME)/native/llvm/bin/llvm-strip ./build/usr/local/bin/*
17+
mkdir -p ../sysroot/bin
18+
cp -rv ./build/usr/local/bin/qemu-aarch64 ../sysroot/bin/qemu-harmonix-aarch64
19+
cp -rv ./build/usr/local/bin/qemu-x86_64 ../sysroot/bin/qemu-harmonix-x86_64
20+
cp -rv ./scripts/* ../sysroot/bin/
21+
22+
download/qemu:
23+
mkdir -p download
24+
cd download && git clone -b termony-qemu-10-vroot --depth=100 https://github.com/hackeris/harmony-qemu qemu

build-hnp/utils/Makefrag

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@ export LC_TYPE := C
55
# avoid probing unwanted packages
66
export PKG_CONFIG := /usr/bin/false
77
# set toolchain paths
8-
export CC := $(OHOS_SDK_HOME)/native/llvm/bin/aarch64-unknown-linux-ohos-clang
9-
export CXX := $(OHOS_SDK_HOME)/native/llvm/bin/aarch64-unknown-linux-ohos-clang++
8+
export CC := $(OHOS_SDK_HOME)/native/llvm/bin/$(OHOS_ARCH)-unknown-linux-ohos-clang
9+
export CXX := $(OHOS_SDK_HOME)/native/llvm/bin/$(OHOS_ARCH)-unknown-linux-ohos-clang++
1010
export LD := $(OHOS_SDK_HOME)/native/llvm/bin/ld.lld
1111
export AR := $(OHOS_SDK_HOME)/native/llvm/bin/llvm-ar
1212
export RANLIB := $(OHOS_SDK_HOME)/native/llvm/bin/llvm-ranlib

build-hnp/zstd/Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ all: download/zstd-1.5.7.tar.gz
44
cd temp && tar xvf ../download/zstd-1.5.7.tar.gz
55
cd temp/zstd-1.5.7 && cat ../../0001-qsort.diff | patch -Np1
66
cd temp/zstd-1.5.7 && mkdir build-zstd
7-
cd temp/zstd-1.5.7/build-zstd && PKG_CONFIG=/usr/bin/false cmake ../build/cmake -DCMAKE_INSTALL_PREFIX=/ -DCMAKE_SYSTEM_NAME=Linux -DCMAKE_SYSTEM_PROCESSOR=aarch64 -DCMAKE_C_COMPILER=$(OHOS_SDK_HOME)/native/llvm/bin/aarch64-unknown-linux-ohos-clang -DCMAKE_CXX_COMPILER=$(OHOS_SDK_HOME)/native/llvm/bin/aarch64-unknown-linux-ohos-clang++ -DCMAKE_AR=$(OHOS_SDK_HOME)/native/llvm/bin/llvm-ar -DCMAKE_BUILD_TYPE=RelWithDebInfo -DZSTD_BUILD_STATIC=ON -DZSTD_BUILD_SHARED=ON
7+
cd temp/zstd-1.5.7/build-zstd && PKG_CONFIG=/usr/bin/false cmake ../build/cmake -DCMAKE_INSTALL_PREFIX=/ -DCMAKE_SYSTEM_NAME=Linux -DCMAKE_SYSTEM_PROCESSOR=$(OHOS_ARCH) -DCMAKE_C_COMPILER=$(OHOS_SDK_HOME)/native/llvm/bin/$(OHOS_ARCH)-unknown-linux-ohos-clang -DCMAKE_CXX_COMPILER=$(OHOS_SDK_HOME)/native/llvm/bin/$(OHOS_ARCH)-unknown-linux-ohos-clang++ -DCMAKE_AR=$(OHOS_SDK_HOME)/native/llvm/bin/llvm-ar -DCMAKE_BUILD_TYPE=RelWithDebInfo -DZSTD_BUILD_STATIC=ON -DZSTD_BUILD_SHARED=ON
88
cd temp/zstd-1.5.7/build-zstd && make -j $(shell nproc) && make install DESTDIR=$(shell pwd)/build
99
mkdir -p ../buildroot
1010
cp -rfv build/. ../buildroot | tee file.lst

build-linux.sh

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,8 @@ export DEVECO_SDK_HOME=$TOOL_HOME/sdk
1919
export OHOS_SDK_HOME=$TOOL_HOME/sdk/default/openharmony
2020
export PATH=$TOOL_HOME/bin:$PATH
2121
export PATH=$TOOL_HOME/tool/node/bin:$PATH
22+
export OHOS_ARCH=aarch64
23+
export OHOS_ABI=arm64-v8a
2224

2325
build_harmonix_hap() {
2426
hvigorw assembleHap

entry/hnp/x86_64/.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
*.hnp

entry/hnp/x86_64/.gitkeep

Whitespace-only changes.

0 commit comments

Comments
 (0)