Files
rippled/build/unix/install.tcl
Vinnie Falco 9708a12607 Squashed 'src/soci/' content from commit 6e9312c
git-subtree-dir: src/soci
git-subtree-split: 6e9312c4bb3748907bd28d62c40feca42878cfef
2015-03-18 19:36:00 -07:00

75 lines
2.3 KiB
Tcl

set headerInstallPrefix "/usr/local/include/soci"
set libInstallPrefix "/usr/local/lib"
set sociVersion "3.0.0"
set sociMajor "3"
source "execute.tcl"
source "local/parameters.tcl"
if [info exists env(DESTDIR)] {
set DESTDIR $env(DESTDIR)
set headerInstallPrefix [file normalize ${DESTDIR}/${headerInstallPrefix}]
set libInstallPrefix [file normalize ${DESTDIR}/${libInstallPrefix}]
}
set uninstallFile [open "local/uninstall.sh" "w"]
if {[file exists $headerInstallPrefix] == 0} {
execute "mkdir -p $headerInstallPrefix"
puts $uninstallFile "rm -rf $headerInstallPrefix"
}
foreach header [glob "include/*"] {
set tail [file tail $header]
puts "copying $tail to ${headerInstallPrefix}"
execute "cp $header $headerInstallPrefix"
puts $uninstallFile "rm -f ${headerInstallPrefix}/${tail}"
}
if {[file exists $libInstallPrefix] == 0} {
execute "mkdir -p $libInstallPrefix"
puts $uninstallFile "rm -rf $libInstallPrefix"
}
foreach lib [glob "lib/*.a"] {
set tail [file tail $lib]
puts "copying $tail to ${libInstallPrefix}"
execute "cp $lib $libInstallPrefix"
puts $uninstallFile "rm -f ${libInstallPrefix}/${tail}"
}
set buildDir [pwd]
cd $libInstallPrefix
foreach lib [glob "${buildDir}/lib/*.so"] {
set rootName [file rootname [file tail $lib]]
set targetName "${rootName}-${sociVersion}.so"
set majorLink "${rootName}-${sociMajor}.so"
set link "${rootName}.so"
puts "copying [file tail $lib] to ${targetName}"
execute "cp $lib $targetName"
puts $uninstallFile "rm -f ${libInstallPrefix}/${targetName}"
puts "creating link ${majorLink}"
execute "ln -s $targetName [file tail $majorLink]"
puts $uninstallFile "rm -f ${libInstallPrefix}/${majorLink}"
puts "creating ${link}"
execute "ln -s $targetName [file tail $link]"
puts $uninstallFile "rm -f ${libInstallPrefix}/${link}"
}
close $uninstallFile
puts "ldconfig ${libInstallPrefix}"
catch { eval exec "ldconfig ${libInstallPrefix}" }
puts ""
puts ""
puts "Hint: the shared libraries were installed in $libInstallPrefix"
puts "- If you use dynamically loaded backends, then you might need to set"
puts " the SOCI_BACKENDS_PATH variable accordingly."
puts ""
puts "Hint: to remove all installed files and links run make uninstall"
puts ""