# Copyright: 2016-2023 Paul Obermeier (obermeier@tcl3d.org) # Distributed under BSD license. # # BuildType: MSys / gcc # Changes to source code (see ReplaceLine below): # main.h: Remove definition of _GNU_SOURCE on Windows # because of undefined reference to ffsll. proc Init_rl_json { libName libVersion } { SetScriptAuthor $libName "Paul Obermeier" "obermeier@tcl3d.org" SetLibHomepage $libName "https://github.com/RubyLane/rl_json" SetLibDependencies $libName "Tcl" SetPlatforms $libName "All" SetWinCompilers $libName "gcc" } proc Build_rl_json { libName libVersion buildDir instDir devDir distDir } { if { [UseStage "Extract" $libName] } { ExtractLibrary $libName $buildDir if { [IsWindows] } { if { [VersionCompare "0.9.12" $libVersion] > 0 } { # Replacement file for 0.9.11 or older. set fileName "$buildDir/generic/main.h" ReplaceLine $fileName "#define _GNU_SOURCE" "/* #define _GNU_SOURCE */" } } } if { [UseStage "Configure" $libName] } { TeaConfig $libName $buildDir $instDir } if { [UseStage "Compile" $libName] } { MSysBuild $libName $buildDir "install-binaries" } if { [UseStage "Distribute" $libName] } { StripLibraries "$instDir" LibFileCopy "$instDir" "$devDir/[GetTclDir]" "*" true LibFileCopy "$instDir" "$distDir/[GetTclDir]" "*" true if { ! [UseTclPkgVersion] } { FileRename "$devDir/[GetTclLibDir]/$libName$libVersion" "$devDir/[GetTclLibDir]/$libName" FileRename "$distDir/[GetTclLibDir]/$libName$libVersion" "$distDir/[GetTclLibDir]/$libName" } } return true }