Skip to content

Commit

Permalink
vmware-labs#71 feat: Add build and packaging of libpython
Browse files Browse the repository at this point in the history
  • Loading branch information
assambar committed Mar 15, 2023
1 parent 5cf0826 commit 3de146d
Show file tree
Hide file tree
Showing 13 changed files with 50 additions and 15 deletions.
2 changes: 1 addition & 1 deletion libs/bundle_wlr/wlr-env-local.sh
Original file line number Diff line number Diff line change
Expand Up @@ -9,5 +9,5 @@ then
fi

export WLR_ENV_NAME=bundle_wlr/0.1.0
export WLR_PACKAGE_NAME=libbundle_wlr
export WLR_PACKAGE_NAME=bundle_wlr
export WLR_PACKAGE_VERSION=0.1.0
2 changes: 1 addition & 1 deletion libs/icu/v.72.1/wlr-env-repo.sh
Original file line number Diff line number Diff line change
Expand Up @@ -14,4 +14,4 @@ export WLR_REPO=https://github.com/unicode-org/icu.git
export WLR_REPO_BRANCH=release-72-1
export WLR_ENV_NAME=icu/release-72-1
export WLR_PACKAGE_VERSION=72.1
export WLR_PACKAGE_NAME=libicu
export WLR_PACKAGE_NAME=icu
2 changes: 1 addition & 1 deletion libs/libjpeg/v2.1.5.1/wlr-env-repo.sh
Original file line number Diff line number Diff line change
Expand Up @@ -14,4 +14,4 @@ export WLR_REPO=https://github.com/libjpeg-turbo/libjpeg-turbo
export WLR_REPO_BRANCH=2.1.5.1
export WLR_ENV_NAME=libjpeg/2.1.5.1
export WLR_PACKAGE_VERSION=2.1.5.1
export WLR_PACKAGE_NAME=libjpeg
export WLR_PACKAGE_NAME=jpeg
2 changes: 1 addition & 1 deletion libs/libpng/v1.6.39/wlr-env-repo.sh
Original file line number Diff line number Diff line change
Expand Up @@ -14,5 +14,5 @@ export WLR_REPO=https://github.com/glennrp/libpng
export WLR_REPO_BRANCH=v1.6.39
export WLR_ENV_NAME=libpng/v1.6.39
export WLR_PACKAGE_VERSION=1.6.39
export WLR_PACKAGE_NAME=libpng
export WLR_PACKAGE_NAME=png

2 changes: 1 addition & 1 deletion libs/libuuid/v1.0.3/wlr-env-repo.sh
Original file line number Diff line number Diff line change
Expand Up @@ -14,4 +14,4 @@ export WLR_REPO=https://git.code.sf.net/p/libuuid/code
export WLR_REPO_BRANCH=libuuid-1.0.3
export WLR_ENV_NAME=uuid/libuuid-1.0.3
export WLR_PACKAGE_VERSION=1.0.3
export WLR_PACKAGE_NAME=libuuid
export WLR_PACKAGE_NAME=uuid
2 changes: 1 addition & 1 deletion libs/libxml2/v2.10.3/wlr-env-repo.sh
Original file line number Diff line number Diff line change
Expand Up @@ -14,5 +14,5 @@ export WLR_REPO=https://github.com/GNOME/libxml2.git
export WLR_REPO_BRANCH=v2.10.3
export WLR_ENV_NAME=libxml2/v2.10.3
export WLR_PACKAGE_VERSION=2.10.3
export WLR_PACKAGE_NAME=libxml2
export WLR_PACKAGE_NAME=xml2

2 changes: 1 addition & 1 deletion libs/oniguruma/v6.9.8/wlr-env-repo.sh
Original file line number Diff line number Diff line change
Expand Up @@ -14,4 +14,4 @@ export WLR_REPO=https://github.com/kkos/oniguruma
export WLR_REPO_BRANCH=v6.9.8
export WLR_ENV_NAME=oniguruma/v6.9.8
export WLR_PACKAGE_VERSION=6.9.8
export WLR_PACKAGE_NAME=libonig
export WLR_PACKAGE_NAME=onig
2 changes: 1 addition & 1 deletion libs/sqlite/v3.39.2/wlr-env-repo.sh
Original file line number Diff line number Diff line change
Expand Up @@ -14,4 +14,4 @@ export WLR_REPO=https://github.com/sqlite/sqlite.git
export WLR_REPO_BRANCH=version-3.39.2
export WLR_ENV_NAME=sqlite/v3.39.2
export WLR_PACKAGE_VERSION=3.39.2
export WLR_PACKAGE_NAME=libsqlite
export WLR_PACKAGE_NAME=sqlite
2 changes: 1 addition & 1 deletion libs/wasmedge_sock/wlr-env-local.sh
Original file line number Diff line number Diff line change
Expand Up @@ -9,5 +9,5 @@ then
fi

export WLR_ENV_NAME=wasmedge_sock/0.1.0
export WLR_PACKAGE_NAME=libwasmedge_sock
export WLR_PACKAGE_NAME=wasmedge_sock
export WLR_PACKAGE_VERSION=0.1.0
2 changes: 1 addition & 1 deletion libs/zlib/v1.2.13/wlr-env-repo.sh
Original file line number Diff line number Diff line change
Expand Up @@ -14,4 +14,4 @@ export WLR_REPO=https://github.com/madler/zlib
export WLR_REPO_BRANCH=v1.2.13
export WLR_ENV_NAME=zlib/v1.2.13
export WLR_PACKAGE_VERSION=1.2.13
export WLR_PACKAGE_NAME=libz
export WLR_PACKAGE_NAME=z
33 changes: 33 additions & 0 deletions python/v3.11.1/wlr-build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,8 @@ then
wlr_wasi_vfs_setup_dependencies || exit 1
fi

source ${WLR_REPO_ROOT}/scripts/build-helpers/wlr_pkg_config.sh

export CFLAGS_CONFIG="-O0"


Expand Down Expand Up @@ -91,4 +93,35 @@ else
cp -TRv usr ${WLR_OUTPUT}/usr || exit 1
fi

logStatus "Install includes..."
make inclinstall \
prefix=${WLR_OUTPUT} \
libdir=${WLR_OUTPUT}/lib/wasm32-wasi \
pkgconfigdir=${WLR_OUTPUT}/lib/wasm32-wasi/pkgconfig || exit 1

logStatus "Create libpython3.11-aio.a"
(${AR} -M <<EOF
create libpython3.11-aio.a
addlib libpython3.11.a
addlib ${WLR_DEPS_ROOT}/build-output/lib/wasm32-wasi/libz.a
addlib ${WLR_DEPS_ROOT}/build-output/lib/wasm32-wasi/libsqlite3.a
addlib ${WLR_DEPS_ROOT}/build-output/lib/wasm32-wasi/libuuid.a
addlib Modules/expat/libexpat.a
addlib Modules/_decimal/libmpdec/libmpdec.a
save
end
EOF
) || echo exit 1

mkdir -p ${WLR_OUTPUT}/lib/wasm32-wasi/ 2>/dev/null || exit 1
cp -v libpython3.11-aio.a ${WLR_OUTPUT}/lib/wasm32-wasi/libpython3.11.a || exit 1

logStatus "Generating pkg-config file for libpython3.11.a"
DESCRIPTION="libpython3.11 allows embedding the CPython interpreter"
STACK_LINKER_FLAGS="-Wl,-z,stack-size=524288 -Wl,--stack-first -Wl,--initial-memory=10485760"

wlr_pkg_config_create_pc_file "libpython3.11" "${WLR_PACKAGE_VERSION}" "${DESCRIPTION}" "${STACK_LINKER_FLAGS}" || exit 1

wlr_package_lib || exit 1

logStatus "DONE. Artifacts in ${WLR_OUTPUT}"
2 changes: 1 addition & 1 deletion scripts/build-helpers/wlr_package.sh
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ if [[ ! -v WLR_ENV ]]; then
fi

function wlr_package_lib {
local _PACKAGE=${WLR_OUTPUT_BASE}/${WLR_PACKAGE_NAME}-${WLR_PACKAGE_VERSION}-${WASI_SDK_ASSET_NAME}.tar
local _PACKAGE=${WLR_OUTPUT_BASE}/lib${WLR_PACKAGE_NAME}-${WLR_PACKAGE_VERSION}-${WASI_SDK_ASSET_NAME}.tar
logStatus "Packaging... ${_PACKAGE}"
tar -cvf ${_PACKAGE} \
-C ${WLR_OUTPUT}/ \
Expand Down
10 changes: 6 additions & 4 deletions scripts/build-helpers/wlr_pkg_config.sh
Original file line number Diff line number Diff line change
Expand Up @@ -27,9 +27,11 @@ function wlr_pkg_config_reset_pc_prefix {

function wlr_pkg_config_create_pc_file {
local TARGET_LIBRARY="$1"
local DESCRIPTION="$2"
local TARGET_LIBS="$3"
local VERSION="$2"
local DESCRIPTION="$3"
local EXTRA_LINK_FLAGS="$4"

mkdir -p ${WLR_OUTPUT}/lib/wasm32-wasi/pkg-config 2>/dev/null || exit 1
local TARGET_FILE=${WLR_OUTPUT}/lib/wasm32-wasi/pkg-config/${TARGET_LIBRARY}.pc

mkdir -p ${WLR_OUTPUT}/lib/wasm32-wasi/pkg-config 2>/dev/null
Expand All @@ -41,8 +43,8 @@ includedir=\${prefix}/include
Name: ${TARGET_LIBRARY}
Description: ${DESCRIPTION}
Version: 2.1.5.1
Libs: -L\${libdir} ${TARGET_LIBS}
Version: ${VERSION}
Libs: -L\${libdir} ${EXTRA_LINK_FLAGS}
Cflags: -I\${includedir}
EOF
}

0 comments on commit 3de146d

Please sign in to comment.