From 2d872491bc58551c2a9aa046cfbf3509ad854ab9 Mon Sep 17 00:00:00 2001 From: dbv Date: Mon, 1 Apr 2013 12:58:14 +0400 Subject: [PATCH] 0023859: Generated env.sh script contain absolute path to CASROOT folder. Fix for paths in generated env.sh and project files for Code::Blocks and Xcode env.sh script has been updated to make it universal for Code::Blocks and Xcode. --- src/WOKTclLib/osutils.tcl | 3 +- src/WOKTclLib/templates/codeblocks.sh | 4 +- src/WOKTclLib/templates/draw.sh | 2 +- src/WOKTclLib/templates/env.sh | 54 ++++++++++++++++++++------- src/WOKTclLib/templates/xcode.sh | 4 +- src/WOKsite/wok_tclshrc.tcl | 50 +++---------------------- 6 files changed, 54 insertions(+), 63 deletions(-) diff --git a/src/WOKTclLib/osutils.tcl b/src/WOKTclLib/osutils.tcl index ecee152..f8de607 100755 --- a/src/WOKTclLib/osutils.tcl +++ b/src/WOKTclLib/osutils.tcl @@ -2358,7 +2358,6 @@ proc osutils:cbp { theOutDir theProjName theSrcFiles theLibsList theFrameworks t foreach anIncPath $theIncPaths { puts $aFile "\t\t\t" } - puts $aFile "\t\t\t" puts $aFile "\t\t" # COMMON linker options @@ -2674,7 +2673,7 @@ proc osutils:xcdtk { theOutDir theToolKit theGuidsMap {theTargetType "dylib"} } set aDepsFileRefSection "" set aDepsGuids "" set aDepsRefGuids "" - set anIncPaths [list "../../../inc" $::env(WOK_LIBRARY)] + set anIncPaths [list "../../../inc"] puts $aPbxprojFile [osutils:xcdtk:sources $theToolKit $theTargetType aSrcFileRefSection aGroupSection aPackagesGuids aSrcFileGuids aGuidsMap anIncPaths] puts $aPbxprojFile [osutils:xcdtk:deps $theToolKit $theTargetType aGuidsMap aDepsFileRefSection aDepsGuids aDepsRefGuids] # End PBXBuildFile section diff --git a/src/WOKTclLib/templates/codeblocks.sh b/src/WOKTclLib/templates/codeblocks.sh index 43bb383..d888f5a 100755 --- a/src/WOKTclLib/templates/codeblocks.sh +++ b/src/WOKTclLib/templates/codeblocks.sh @@ -1,6 +1,8 @@ #!/bin/bash -source ./env.sh "$1" +export TARGET="cbp" + +source ./env.sh "$TARGET" "$1" export CSF_OPT_LIB64="$CSF_OPT_LIB64:/usr/X11/lib" export CSF_OPT_LIB64D="$CSF_OPT_LIB64:/usr/X11/lib" diff --git a/src/WOKTclLib/templates/draw.sh b/src/WOKTclLib/templates/draw.sh index 5dc0f24..49e5436 100644 --- a/src/WOKTclLib/templates/draw.sh +++ b/src/WOKTclLib/templates/draw.sh @@ -2,7 +2,7 @@ aScriptPath=${BASH_SOURCE%/*}; if [ -d "${aScriptPath}" ]; then cd "$aScriptPath"; fi; aScriptPath="$PWD"; -source "${aScriptPath}/env.sh" "$1" +source "${aScriptPath}/env.sh" "$1" "$2" echo 'Hint: use "pload ALL" command to load standard commands' DRAWEXE diff --git a/src/WOKTclLib/templates/env.sh b/src/WOKTclLib/templates/env.sh index 19b0a19..96525ed 100755 --- a/src/WOKTclLib/templates/env.sh +++ b/src/WOKTclLib/templates/env.sh @@ -29,16 +29,18 @@ if [ -e "${aScriptPath}/custom.sh" ]; then source "${aScriptPath}/custom.sh"; fi # Read script arguments shopt -s nocasematch -if [[ "$1" == "debug" ]]; then export CASDEB="d"; fi -if [[ "$1" == "d" ]]; then export CASDEB="d"; fi +if [[ "$1" == "cbp" ]]; then + export TARGET="cbp"; +elif [[ "$1" == "xcd" ]]; then + export TARGET="xcd"; +else + echo "Error: wrong target identifier. Should be \"cbp\" (Code::Blocks) or \"xcd\" (Xcode)" + exit +fi +if [[ "$2" == "debug" ]]; then export CASDEB="d"; fi +if [[ "$2" == "d" ]]; then export CASDEB="d"; fi shopt -u nocasematch -export CSF_OPT_INC="${CSF_OPT_INC}:__CSF_OPT_INC__" -export CSF_OPT_LIB32="${CSF_OPT_LIB32}:__CSF_OPT_LIB32__" -export CSF_OPT_LIB64="${CSF_OPT_LIB64}:__CSF_OPT_LIB64__" -export CSF_OPT_LIB32D="__CSF_OPT_LIB32D__" -export CSF_OPT_LIB64D="__CSF_OPT_LIB64D__" - # ----- Setup Environment Variables ----- anArch=`uname -m` if [ "$anArch" != "x86_64" ] && [ "$anArch" != "ia64" ]; then @@ -55,7 +57,27 @@ else export WOKSTATION="lin"; fi -export CASBIN="__CASBIN__" +export CASBIN="" +if [ "${TARGET}" == "cbp" ]; then + export CASBIN="${WOKSTATION}/cbp" +elif [ "${TARGET}" == "xcd" ]; then + export CASBIN="adm/mac/xcd/build" +fi + +export CSF_OPT_INC="${CSF_OPT_INC}:${CASROOT}/inc" + +if [ "${TARGET}" == "cbp" ]; then + export CSF_OPT_LIB32="${CSF_OPT_LIB32}:${CASROOT}/${CASBIN}/lib" + export CSF_OPT_LIB64="${CSF_OPT_LIB64}:${CASROOT}/${CASBIN}/lib" + export CSF_OPT_LIB32D="${CSF_OPT_LIB32}:${CASROOT}/${CASBIN}/libd" + export CSF_OPT_LIB64D="${CSF_OPT_LIB64}:${CASROOT}/${CASBIN}/libd" +elif [ "${TARGET}" == "xcd" ]; then + export CSF_OPT_LIB32="${CSF_OPT_LIB32}:${CASROOT}/${CASBIN}/Release" + export CSF_OPT_LIB64="${CSF_OPT_LIB64}:${CASROOT}/${CASBIN}/Release" + export CSF_OPT_LIB32D="${CSF_OPT_LIB32}:${CASROOT}/${CASBIN}/Debug" + export CSF_OPT_LIB64D="${CSF_OPT_LIB64}:${CASROOT}/${CASBIN}/Debug" +fi + export CSF_OPT_CMPL="" @@ -118,10 +140,16 @@ else export CSF_OPT_LNK32D="$OPT_LINKER_OPTIONS" fi -__BIN_PATH__ -__LIBS_PATH__ -export BIN_PATH -export LIBS_PATH + +BIN_PATH="" +LIBS_PATH="" +if [ "${TARGET}" == "cbp" ]; then + BIN_PATH="${CASBIN}/bin${CASDEB}" + LIBS_PATH="${CASBIN}/lib${CASDEB}" +elif [ "${TARGET}" == "xcd" ]; then + [[ "${CASDEB}" == "d" ]] && BIN_PATH="${CASBIN}/Debug" || BIN_PATH="${CASBIN}/Release" + LIBS_PATH="$BIN_PATH" +fi export PATH="${CASROOT}/${BIN_PATH}:${PATH}" export LD_LIBRARY_PATH="${CASROOT}/${LIBS_PATH}:${LD_LIBRARY_PATH}" diff --git a/src/WOKTclLib/templates/xcode.sh b/src/WOKTclLib/templates/xcode.sh index b3cae16..bb0bb68 100755 --- a/src/WOKTclLib/templates/xcode.sh +++ b/src/WOKTclLib/templates/xcode.sh @@ -1,6 +1,8 @@ #!/bin/bash -source ./env.sh "$1" +export TARGET="xcd" + +source ./env.sh "$TARGET" "$1" export CSF_OPT_LIB64="$CSF_OPT_LIB64:/usr/X11/lib" export CSF_OPT_LIB64D="$CSF_OPT_LIB64:/usr/X11/lib" diff --git a/src/WOKsite/wok_tclshrc.tcl b/src/WOKsite/wok_tclshrc.tcl index 13536b9..e36b5f7 100644 --- a/src/WOKsite/wok_tclshrc.tcl +++ b/src/WOKsite/wok_tclshrc.tcl @@ -262,10 +262,13 @@ proc wgenprojbat {thePath theIDE} { set aBox [file normalize "$thePath/.."] + if { "$aTargetPlatform" != "wnt" } { + file copy -force -- "$::env(WOKHOME)/lib/config.h" "$aBox/inc/config.h" + } + if {"$theIDE" == "cmake"} { file copy -force -- "$::env(WOKHOME)/lib/templates/draw.${aTargetPlatformExt}" "$aBox/adm/cmake/draw.${aTargetPlatformExt}" file copy -force -- "$::env(WOKHOME)/lib/templates/env.${aTargetPlatformExt}.in" "$aBox/adm/cmake/env.${aTargetPlatformExt}.in" - file copy -force -- "$::env(WOKHOME)/lib/config.h" "$aBox/inc/config.h" } else { set anEnvTmplFile [open "$::env(WOKHOME)/lib/templates/env.${aTargetPlatformExt}" "r"] @@ -278,51 +281,8 @@ proc wgenprojbat {thePath theIDE} { } set anOsIncPath [relativePath "$aBox" "$anOsRootPath"] - if { "$theIDE" == "amk" } { - regsub -all -- {__CASROOT__} $anEnvTmpl "$aCasRoot" anEnvTmpl - regsub -all -- {__CASBIN__} $anEnvTmpl "" anEnvTmpl - regsub -all -- {__BIN_PATH__} $anEnvTmpl "BIN_PATH=\${CASBIN}bin\${CASDEB}" anEnvTmpl - regsub -all -- {__LIBS_PATH__} $anEnvTmpl "LIBS_PATH=\${CASBIN}lib\${CASDEB}" anEnvTmpl - } elseif {"$theIDE" == "cbp"} { - regsub -all -- {__CASROOT__} $anEnvTmpl "$aCasRoot" anEnvTmpl - regsub -all -- {__CASBIN__} $anEnvTmpl "\${WOKSTATION}/cbp/" anEnvTmpl - regsub -all -- {__BIN_PATH__} $anEnvTmpl "BIN_PATH=\${CASBIN}bin\${CASDEB}" anEnvTmpl - regsub -all -- {__LIBS_PATH__} $anEnvTmpl "LIBS_PATH=\${CASBIN}lib\${CASDEB}" anEnvTmpl - } elseif {"$theIDE" == "xcd"} { - regsub -all -- {__CASROOT__} $anEnvTmpl "$aCasRoot" anEnvTmpl - regsub -all -- {__CASBIN__} $anEnvTmpl "adm/mac/xcd/build" anEnvTmpl - regsub -all -- {__BIN_PATH__} $anEnvTmpl {[[ ${CASDEB} == "d" ]] \&\& BIN_PATH="${CASBIN}/Debug" || BIN_PATH="${CASBIN}/Release"} anEnvTmpl - regsub -all -- {__LIBS_PATH__} $anEnvTmpl "LIBS_PATH=\"\$BIN_PATH\"" anEnvTmpl - } else { - regsub -all -- {__CASROOT__} $anEnvTmpl "$aCasRoot" anEnvTmpl - } - - regsub -all -- {__CSF_OPT_INC__} $anEnvTmpl "$anOsIncPath" anEnvTmpl - - if { "$aTargetPlatform" != "wnt" } { - set aReleaseLibsPath "" - set aDebugLibsPath "" - - if {"$theIDE" == "cbp"} { - set aReleaseLibsPath "${anOsRootPath}/${::env(WOKSTATION)}/cbp/lib" - set aDebugLibsPath "${anOsRootPath}/${::env(WOKSTATION)}/cbp/libd" - } elseif {"$theIDE" == "xcd"} { - set aReleaseLibsPath "${anOsRootPath}/adm/mac/xcd/build/Release" - set aDebugLibsPath "${anOsRootPath}/adm/mac/xcd/build/Debug" - } + regsub -all -- {__CASROOT__} $anEnvTmpl "$aCasRoot" anEnvTmpl - if { "$::ARCH" == "32"} { - regsub -all -- {__CSF_OPT_LIB32__} $anEnvTmpl "${aReleaseLibsPath}" anEnvTmpl - regsub -all -- {__CSF_OPT_LIB32D__} $anEnvTmpl "${aDebugLibsPath}" anEnvTmpl - regsub -all -- {__CSF_OPT_LIB64__} $anEnvTmpl "" anEnvTmpl - regsub -all -- {__CSF_OPT_LIB64D__} $anEnvTmpl "" anEnvTmpl - } else { - regsub -all -- {__CSF_OPT_LIB32__} $anEnvTmpl "" anEnvTmpl - regsub -all -- {__CSF_OPT_LIB32D__} $anEnvTmpl "" anEnvTmpl - regsub -all -- {__CSF_OPT_LIB64__} $anEnvTmpl "${aReleaseLibsPath}" anEnvTmpl - regsub -all -- {__CSF_OPT_LIB64D__} $anEnvTmpl "${aDebugLibsPath}" anEnvTmpl - } - } set anEnvFile [open "$aBox/env.${aTargetPlatformExt}" "w"] puts $anEnvFile $anEnvTmpl close $anEnvFile -- 2.39.5