Improve build script documentation and targets variable.
This commit is contained in:
parent
ce60ba6c9f
commit
aeeab7dbf6
16
.gitignore
vendored
16
.gitignore
vendored
@ -13,8 +13,6 @@ xcuserdata/
|
|||||||
DerivedData/
|
DerivedData/
|
||||||
|
|
||||||
# Generated
|
# Generated
|
||||||
/platform-independent/cli-c/VERSION
|
|
||||||
/platform-independent/cli-c/mpw-*.tar.gz
|
|
||||||
/platform-darwin/Resources/Media/Images.xcassets/
|
/platform-darwin/Resources/Media/Images.xcassets/
|
||||||
|
|
||||||
# Media
|
# Media
|
||||||
@ -31,17 +29,3 @@ local.properties
|
|||||||
# Maven
|
# Maven
|
||||||
target
|
target
|
||||||
dependency-reduced-pom.xml
|
dependency-reduced-pom.xml
|
||||||
|
|
||||||
# C
|
|
||||||
core/c/*.o
|
|
||||||
core/c/lib/*/.unpacked
|
|
||||||
core/c/lib/*/.patched
|
|
||||||
core/c/lib/*/src
|
|
||||||
core/c/lib/include
|
|
||||||
platform-independent/cli-c/cli/*.o
|
|
||||||
platform-independent/cli-c/mpw-*.tar.gz
|
|
||||||
platform-independent/cli-c/mpw-*.tar.gz.sig
|
|
||||||
platform-independent/cli-c/mpw
|
|
||||||
platform-independent/cli-c/mpw-bench
|
|
||||||
platform-independent/cli-c/mpw-tests
|
|
||||||
platform-independent/cli-c/VERSION
|
|
||||||
|
10
platform-independent/cli-c/.gitignore
vendored
Normal file
10
platform-independent/cli-c/.gitignore
vendored
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
*.o
|
||||||
|
*.dSYM
|
||||||
|
|
||||||
|
mpw
|
||||||
|
mpw-bench
|
||||||
|
mpw-tests
|
||||||
|
|
||||||
|
VERSION
|
||||||
|
mpw-*.tar.gz
|
||||||
|
mpw-*.tar.gz.sig
|
@ -1,9 +1,19 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
#
|
#
|
||||||
# TROUBLESHOOTING
|
# USAGE
|
||||||
# - Take a look at the "Optional features" section. Some features have dependencies,
|
# [targets='...'] [mpw_feature=0|1 ...] [CFLAGS='...'] [LDFLAGS='...'] ./build [cc arguments ...]
|
||||||
# either make sure you have them or disable those features.
|
#
|
||||||
# eg. mpw_color=0 ./build
|
# By default, you should only need to run ./build
|
||||||
|
#
|
||||||
|
# You can customize the targets that are built using targets='...'. Use targets='all' to build all targets.
|
||||||
|
# By default, we only build the 'mpw' target.
|
||||||
|
# See targets_all for all possible targets as well as the features they support and require.
|
||||||
|
#
|
||||||
|
# Several features can be enabled or disabled using feature flags.
|
||||||
|
# See the Features section for an overview of the features, their default setting, their meaning and their dependencies.
|
||||||
|
# You will need to have each of the feature's dependencies installed for the build to succeed with that feature enabled.
|
||||||
|
#
|
||||||
|
# Finally, the C compiler can be tuned using CFLAGS, LDFLAGS and compiler arguments passed to the script.
|
||||||
#
|
#
|
||||||
# BUGS
|
# BUGS
|
||||||
# masterpassword@lyndir.com
|
# masterpassword@lyndir.com
|
||||||
@ -18,19 +28,14 @@ set -e
|
|||||||
|
|
||||||
### CONFIGURATION
|
### CONFIGURATION
|
||||||
# Targets to build.
|
# Targets to build.
|
||||||
if [[ $targets ]]; then
|
targets_all=(
|
||||||
read -ra targets <<< "$targets"
|
|
||||||
else
|
|
||||||
# Default targets.
|
|
||||||
# Modify here or override using targets='mpw mpw-bench' ./build
|
|
||||||
targets=(
|
|
||||||
mpw # C CLI version of Master Password (needs: mpw_sodium, optional: mpw_color, mpw_json).
|
mpw # C CLI version of Master Password (needs: mpw_sodium, optional: mpw_color, mpw_json).
|
||||||
#mpw-bench # C CLI Master Password benchmark utility (needs: mpw_sodium).
|
mpw-bench # C CLI Master Password benchmark utility (needs: mpw_sodium).
|
||||||
#mpw-tests # C Master Password algorithm test suite (needs: mpw_sodium, mpw_xml).
|
mpw-tests # C Master Password algorithm test suite (needs: mpw_sodium, mpw_xml).
|
||||||
)
|
)
|
||||||
fi
|
targets_default='mpw' # Override with: targets='...' ./build
|
||||||
|
|
||||||
# Optional features.
|
# Features.
|
||||||
mpw_sodium=${mpw_sodium:-1} # Implement crypto functions with sodium (depends on libsodium).
|
mpw_sodium=${mpw_sodium:-1} # Implement crypto functions with sodium (depends on libsodium).
|
||||||
mpw_json=${mpw_json:-1} # Support JSON-based user configuration format (depends on libjson-c).
|
mpw_json=${mpw_json:-1} # Support JSON-based user configuration format (depends on libjson-c).
|
||||||
mpw_color=${mpw_color:-1} # Colorized identicon (depends on libncurses).
|
mpw_color=${mpw_color:-1} # Colorized identicon (depends on libncurses).
|
||||||
@ -76,7 +81,7 @@ mpw() {
|
|||||||
cc "${cflags[@]}" "$@" -c core/mpw-marshall.c -o core/mpw-marshall.o
|
cc "${cflags[@]}" "$@" -c core/mpw-marshall.c -o core/mpw-marshall.o
|
||||||
cc "${cflags[@]}" "$@" "core/base64.o" "core/mpw-algorithm.o" "core/mpw-types.o" "core/mpw-util.o" "core/mpw-marshall-util.o" "core/mpw-marshall.o" \
|
cc "${cflags[@]}" "$@" "core/base64.o" "core/mpw-algorithm.o" "core/mpw-types.o" "core/mpw-util.o" "core/mpw-marshall-util.o" "core/mpw-marshall.o" \
|
||||||
"${ldflags[@]}" "cli/mpw-cli.c" -o "mpw"
|
"${ldflags[@]}" "cli/mpw-cli.c" -o "mpw"
|
||||||
echo "done! Now run ./install or use ./$_"
|
echo "done! You can now run ./mpw-cli-tests, ./install or use ./$_"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -105,7 +110,7 @@ mpw-bench() {
|
|||||||
cc "${cflags[@]}" "$@" -c core/mpw-util.c -o core/mpw-util.o
|
cc "${cflags[@]}" "$@" -c core/mpw-util.c -o core/mpw-util.o
|
||||||
cc "${cflags[@]}" "$@" "core/base64.o" "core/mpw-algorithm.o" "core/mpw-types.o" "core/mpw-util.o" \
|
cc "${cflags[@]}" "$@" "core/base64.o" "core/mpw-algorithm.o" "core/mpw-types.o" "core/mpw-util.o" \
|
||||||
"${ldflags[@]}" "cli/mpw-bench.c" -o "mpw-bench"
|
"${ldflags[@]}" "cli/mpw-bench.c" -o "mpw-bench"
|
||||||
echo "done! Now use ./$_"
|
echo "done! You can now use ./$_"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -136,7 +141,7 @@ mpw-tests() {
|
|||||||
cc "${cflags[@]}" "$@" -c cli/mpw-tests-util.c -o cli/mpw-tests-util.o
|
cc "${cflags[@]}" "$@" -c cli/mpw-tests-util.c -o cli/mpw-tests-util.o
|
||||||
cc "${cflags[@]}" "$@" "core/base64.o" "core/mpw-algorithm.o" "core/mpw-types.o" "core/mpw-util.o" \
|
cc "${cflags[@]}" "$@" "core/base64.o" "core/mpw-algorithm.o" "core/mpw-types.o" "core/mpw-util.o" \
|
||||||
"${ldflags[@]}" "cli/mpw-tests-util.o" "cli/mpw-tests.c" -o "mpw-tests"
|
"${ldflags[@]}" "cli/mpw-tests-util.o" "cli/mpw-tests.c" -o "mpw-tests"
|
||||||
echo "done! Now use ./$_"
|
echo "done! You can now use ./$_"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -206,9 +211,10 @@ use_mpw_xml() {
|
|||||||
|
|
||||||
|
|
||||||
### BUILD TARGETS
|
### BUILD TARGETS
|
||||||
echo "Will build targets: ${targets[*]}..."
|
for target in "${targets_all[@]}"; do
|
||||||
for target in "${targets[@]}"; do
|
if [[ ${targets:-$targets_default} == 'all' || " $target " = *" ${targets:-$targets_default} "* ]]; then
|
||||||
echo
|
echo
|
||||||
echo "Building target: $target..."
|
echo "Building target: $target..."
|
||||||
( "$target" "$@" )
|
( "$target" "$@" )
|
||||||
|
fi
|
||||||
done
|
done
|
||||||
|
Loading…
Reference in New Issue
Block a user