Skip to content

Commit

Permalink
Merge pull request #352 from gojimmypi/PR-autogen-fix
Browse files Browse the repository at this point in the history
fix autogen.sh for WSL/Windows git hook file link attempt
  • Loading branch information
dgarske authored May 13, 2024
2 parents e5da556 + 8963d5b commit 2a84508
Showing 1 changed file with 31 additions and 4 deletions.
35 changes: 31 additions & 4 deletions autogen.sh
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,39 @@

set -e

# Check environment
if [ -n "$WSL_DISTRO_NAME" ]; then
# we found a non-blank WSL environment distro name
current_path="$(pwd)"
pattern="/mnt/?"
if [ "$(echo "$current_path" | grep -E "^$pattern")" ]; then
# if we are in WSL and shared Windows file system, 'ln' does not work.
no_links=true
else
no_links=
fi
fi

# Git hooks should come before autoreconf.
if test -d .git; then
if ! test -d .git/hooks; then
mkdir .git/hooks
fi
ln -s -f ../../pre-commit.sh .git/hooks/pre-commit
if [ -n "$no_links" ]; then
echo "Linux ln does not work on shared Windows file system in WSL."
if [ ! -e .git/hooks/pre-commit ]; then
echo "The pre-commit.sh file will not be copied to .git/hooks/pre-commit"
# shell scripts do not work on Windows; TODO create equivalent batch file
# cp ./pre-commit.sh .git/hooks/pre-commit || exit $?
fi
if [ ! -e .git/hooks/pre-push ]; then
echo "The pre-push.sh file will not be copied to .git/hooks/pre-commit"
# shell scripts do not work on Windows; TODO create equivalent batch file
# cp ./pre-push.sh .git/hooks/pre-push || exit $?
fi
else
if ! test -d .git/hooks; then
mkdir .git/hooks
fi
ln -s -f ../../pre-commit.sh .git/hooks/pre-commit
fi
fi

# if get an error about libtool not setup
Expand Down

0 comments on commit 2a84508

Please sign in to comment.