Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 5 additions & 5 deletions .github/workflows/wide_integer.yml
Original file line number Diff line number Diff line change
Expand Up @@ -148,12 +148,12 @@ jobs:
- name: gcc-clang-native
run: |
grep BOOST_VERSION ../boost-root/boost/version.hpp
echo "compile ./wide_integer.exe"
echo "compile and link to ./wide_integer via Makefile"
${{ matrix.compiler }} -v
${{ matrix.compiler }} -finline-functions -m64 -O3 -Werror -Wall -Wextra -Wpedantic -Wconversion -Wsign-conversion -Wshadow -Wundef -Wunused-parameter -Wuninitialized -Wunreachable-code -Winit-self -Wzero-as-null-pointer-constant -std=${{ matrix.standard }} -DWIDE_INTEGER_HAS_LIMB_TYPE_UINT64 -I. -I../boost-root -pthread -lpthread test/test.cpp test/test_uintwide_t_boost_backend.cpp test/test_uintwide_t_edge_cases.cpp test/test_uintwide_t_examples.cpp test/test_uintwide_t_float_convert.cpp test/test_uintwide_t_int_convert.cpp test/test_uintwide_t_n_base.cpp test/test_uintwide_t_n_binary_ops_base.cpp test/test_uintwide_t_spot_values.cpp examples/example000_numeric_limits.cpp examples/example000a_builtin_convert.cpp examples/example001_mul_div.cpp examples/example001a_div_mod.cpp examples/example002_shl_shr.cpp examples/example003_sqrt.cpp examples/example003a_cbrt.cpp examples/example004_rootk_pow.cpp examples/example005_powm.cpp examples/example005a_pow_factors_of_p99.cpp examples/example006_gcd.cpp examples/example007_random_generator.cpp examples/example008_miller_rabin_prime.cpp examples/example008a_miller_rabin_prime.cpp examples/example009_timed_mul.cpp examples/example009a_timed_mul_4_by_4.cpp examples/example009b_timed_mul_8_by_8.cpp examples/example010_uint48_t.cpp examples/example011_uint24_t.cpp examples/example012_rsa_crypto.cpp examples/example013_ecdsa_sign_verify.cpp examples/example014_pi_spigot_wide.cpp -o wide_integer.exe
echo "ls ./wide_integer.exe"
ls -la ./wide_integer.exe
./wide_integer.exe
make MY_STD=${{ matrix.standard }} MY_CC=${{ matrix.compiler }} MY_BOOST_ROOT=../boost-root all
echo "ls ./wide_integer"
ls -la ./wide_integer
./wide_integer
gcc-clang-native-limb_type_uint64_t:
runs-on: ubuntu-latest
defaults:
Expand Down
8 changes: 4 additions & 4 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -111,7 +111,7 @@ endif


compile_and_link :
$(ECHO) +++ compiling and linking to wide_integer
$(ECHO)
$(CC) $(CPPFLAGS) $(C_INCLUDES) $(LDFLAGS) $(FILES_SRC) -o wide_integer
$(ECHO)
@-$(ECHO) +++ compiling and linking to wide_integer
@-$(ECHO)
@-$(CC) $(CPPFLAGS) $(C_INCLUDES) $(LDFLAGS) $(FILES_SRC) -o wide_integer
@-$(ECHO)
13 changes: 13 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -313,6 +313,19 @@ examples/example014_pi_spigot_wide.cpp \
-o wide_integer.exe
```

### Build on the *nix command line via GNUmake

There is straightforward GNUmake support via [Makefile](./Makefile).
The Makefile supports various command-line options that allow tuning the compiler,
language standard, Boost's root directory, etc.

A sample command line for building the executable `wide_integer`
with the Makefile is shown below.

```sh
make MY_CC=clang++ MY_STD=c++23 MY_BOOST_ROOT=../boost-root all
```

## Testing, CI and Quality Checks

### Testing
Expand Down
Loading