From a279514a6ef30cd8ee1469345b33172fcbc8d52d Mon Sep 17 00:00:00 2001 From: John Ericson Date: Wed, 16 Mar 2022 18:20:29 +0000 Subject: [PATCH] `WASM_NM` -> `NM` to use standardized env var Progress towards #269 --- .github/workflows/main.yml | 8 ++++---- Makefile | 6 +++--- README.md | 2 +- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 7efb5d6..2fdc5d5 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -21,7 +21,7 @@ jobs: echo "$(pwd)/llvm/bin" >> $GITHUB_PATH echo "CC=$(pwd)/llvm/bin/clang.exe" >> $GITHUB_ENV echo "AR=$(pwd)/llvm/bin/llvm-ar.exe" >> $GITHUB_ENV - echo "WASM_NM=$(pwd)/llvm/bin/llvm-nm.exe" >> $GITHUB_ENV + echo "NM=$(pwd)/llvm/bin/llvm-nm.exe" >> $GITHUB_ENV if: matrix.os == 'windows-latest' - name: Override llvm-nm with one from rustup (Windows) @@ -29,7 +29,7 @@ jobs: rustup update stable rustup default stable rustup component add llvm-tools-preview - echo "WASM_NM=$(rustc --print sysroot|sed 's|C:|/c|'|sed 's|\\|/|g')/lib/rustlib/x86_64-pc-windows-msvc/bin/llvm-nm.exe" >> $GITHUB_ENV + echo "NM=$(rustc --print sysroot|sed 's|C:|/c|'|sed 's|\\|/|g')/lib/rustlib/x86_64-pc-windows-msvc/bin/llvm-nm.exe" >> $GITHUB_ENV if: matrix.os == 'windows-latest' - name: Install LLVM tools (MacOS) @@ -40,7 +40,7 @@ jobs: echo "$CLANG_DIR" >> $GITHUB_PATH echo "CC=$CLANG_DIR/clang" >> $GITHUB_ENV echo "AR=$CLANG_DIR/llvm-ar" >> $GITHUB_ENV - echo "WASM_NM=$CLANG_DIR/llvm-nm" >> $GITHUB_ENV + echo "NM=$CLANG_DIR/llvm-nm" >> $GITHUB_ENV if: matrix.os == 'macos-latest' - name: Install LLVM tools (Linux) @@ -51,7 +51,7 @@ jobs: echo "$CLANG_DIR" >> $GITHUB_PATH echo "CC=$CLANG_DIR/clang" >> $GITHUB_ENV echo "AR=$CLANG_DIR/llvm-ar" >> $GITHUB_ENV - echo "WASM_NM=$CLANG_DIR/llvm-nm" >> $GITHUB_ENV + echo "NM=$CLANG_DIR/llvm-nm" >> $GITHUB_ENV if: matrix.os == 'ubuntu-latest' - name: Build libc diff --git a/Makefile b/Makefile index 6d5f8dd..b854952 100644 --- a/Makefile +++ b/Makefile @@ -1,7 +1,7 @@ # These variables are specifically meant to be overridable via the make # command-line. CC ?= clang -WASM_NM ?= $(patsubst %clang,%llvm-nm,$(filter-out ccache sccache,$(WASM_CC))) +NM ?= $(patsubst %clang,%llvm-nm,$(filter-out ccache sccache,$(CC))) AR ?= $(patsubst %clang,%llvm-ar,$(filter-out ccache sccache,$(CC))) EXTRA_CFLAGS ?= -O2 -DNDEBUG # The directory where we build the sysroot. @@ -498,9 +498,9 @@ check-symbols: startup_files libc @# LLVM PR40497, which is fixed in 9.0, but not in 8.0. @# Ignore certain llvm builtin symbols such as those starting with __mul @# since these dependencies can vary between llvm versions. - "$(WASM_NM)" --defined-only "$(SYSROOT_LIB)"/libc.a "$(SYSROOT_LIB)"/libwasi-emulated-*.a "$(SYSROOT_LIB)"/*.o \ + "$(NM)" --defined-only "$(SYSROOT_LIB)"/libc.a "$(SYSROOT_LIB)"/libwasi-emulated-*.a "$(SYSROOT_LIB)"/*.o \ |grep ' [[:upper:]] ' |sed 's/.* [[:upper:]] //' |LC_ALL=C sort > "$(DEFINED_SYMBOLS)" - for undef_sym in $$("$(WASM_NM)" --undefined-only "$(SYSROOT_LIB)"/libc.a "$(SYSROOT_LIB)"/libc-*.a "$(SYSROOT_LIB)"/*.o \ + for undef_sym in $$("$(NM)" --undefined-only "$(SYSROOT_LIB)"/libc.a "$(SYSROOT_LIB)"/libc-*.a "$(SYSROOT_LIB)"/*.o \ |grep ' U ' |sed 's/.* U //' |LC_ALL=C sort |uniq); do \ grep -q '\<'$$undef_sym'\>' "$(DEFINED_SYMBOLS)" || echo $$undef_sym; \ done | grep -v "^__mul" > "$(UNDEFINED_SYMBOLS)" diff --git a/README.md b/README.md index 6777a80..0b9b99e 100644 --- a/README.md +++ b/README.md @@ -23,7 +23,7 @@ and then run: ```sh make CC=/path/to/clang/with/wasm/support \ AR=/path/to/llvm-ar \ - WASM_NM=/path/to/llvm-nm + NM=/path/to/llvm-nm ``` This makes a directory called "sysroot", by default. See the top of the Makefile -- 2.39.2