From c5606ff55db36076bf621f514fc0e6441737dcc4 Mon Sep 17 00:00:00 2001 From: Krasimir Angelov Date: Wed, 24 Aug 2022 14:32:47 +0200 Subject: [PATCH] revert the change. GF_LIB_PATH needs to be checked --- Setup.bat | 12 ++++++++++++ Setup.hs | 6 ++++-- Setup.sh | 4 ++++ 3 files changed, 20 insertions(+), 2 deletions(-) diff --git a/Setup.bat b/Setup.bat index 84da02af..01c5c2c5 100644 --- a/Setup.bat +++ b/Setup.bat @@ -27,9 +27,21 @@ REM Check command line options goto Loop :Continue +REM Try to determine install location +if "%dest%"=="" ( + REM Separate paths with search path separator ; and pick first one + for %%p in ("%GF_LIB_PATH:;=";"%") do ( + set dest=%%~p + goto BreakLibPath + ) +) +:BreakLibPath + if "%dest%"=="" ( echo Unable to determine where to install the RGL. Please do one of the following: echo - Pass the --dest=... flag to this script + echo - Set the GF_LIB_PATH environment variable + REM echo - Compile & install GF from the gf-core repository (must be in same directory as gf-rgl) exit /b ) diff --git a/Setup.hs b/Setup.hs index df761db7..2227ccb2 100644 --- a/Setup.hs +++ b/Setup.hs @@ -9,7 +9,7 @@ import System.IO.Error (catchIOError) import System.Exit (ExitCode(..),exitFailure) import System.Environment (getArgs,lookupEnv) import System.Process (rawSystem,readProcess) -import System.FilePath (()) +import System.FilePath ((),splitSearchPath) import System.Directory (createDirectoryIfMissing,copyFile,getDirectoryContents,removeDirectoryRecursive,findFile) #if __GLASGOW_HASKELL__>=800 import System.Directory (getModificationTime,setModificationTime) @@ -60,6 +60,7 @@ errLocation :: String errLocation = unlines $ [ "Unable to determine where to install the RGL. Please do one of the following:" , " - Pass the " ++ destination_flag ++ "... flag to this script" + , " - Set the GF_LIB_PATH environment variable" , " - Compile & install GF from the gf-core repository" ] @@ -118,10 +119,11 @@ mkInfo = do let gf = maybe default_gf id (getFlag gf_flag args) -- Look for install location in a few different places let mflag = getFlag destination_flag args + menvar <- lookupEnv "GF_LIB_PATH" >>= return . fmap (head . splitSearchPath) mbuilt <- catchIOError (readProcess gf ["--version"] "" >>= return . getPath) (\e -> return Nothing) let inst_dir = - case catMaybes [mflag,mbuilt] of + case catMaybes [mflag,menvar,mbuilt] of [] -> Nothing p:_ -> Just p let verbose = verbose_switch `elem` args || verbose_switch_short `elem` args diff --git a/Setup.sh b/Setup.sh index 9272fa83..3f2c2a97 100755 --- a/Setup.sh +++ b/Setup.sh @@ -35,6 +35,9 @@ for arg in "$@"; do done # Try to determine install location +if [ -z "$dest" ]; then + dest=$(echo "$GF_LIB_PATH" | sed 's/:.*$//') +fi if [ -z "$dest" ] && [ "$(gf --version | tail -1 | cut -c -14)" == "Shared folder:" ]; then dest=$(gf --version | tail -1 | cut -c 16-) if [ -n "$dest" ]; then dest="${dest}/lib"; fi @@ -42,6 +45,7 @@ fi if [ -z "$dest" ]; then echo "Unable to determine where to install the RGL. Please do one of the following:" echo " - Pass the --dest=... flag to this script" + echo " - Set the GF_LIB_PATH environment variable" echo " - Compile & install GF from the gf-core repository" exit 1 fi