$os_name = $^O;

# calling script declared $bitness (=32/64), which we can use

if ($os_name =~ "linux") {
    
    my $home_dir = "/greenstone/gs-release-builder";
    print "Running linux setup from $home_dir/envi/etc/environment.pl\n";
    $ENV{'EXT_CLI_DIR'} = "$home_dir/ext-cli";
    

#    $ENV{'ANT_HOME'} = "$home_dir/packages/apache-ant-1.9.4";
#    $ENV{'PATH'} = "$home_dir/packages/subversion/linux/bin:$ENV{'ANT_HOME'}/bin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin";
#    $ENV{'PATH'} = "$home_dir/packages/subversion/linux/bin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin";
    # setup-cli further below sets up ant. subversion is a special case:    
    ## Moving adding the custom subversion from here (all tasks) to the snapshot task
    ## in envi/etc/tasks/snapshot/environment.pl
    ## as the diffcol task doesn't run in the constrained release (docker,
    ## formerly lsb) environment and should use the host machine's subversion
    ## as the custom subversion is only compiled for docker not the host.
    ## I have now put a (GS) wget in the packages folder as the release-kits (gs2-src-caveat) need them
    $ENV{'PATH'} = "$home_dir/packages:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin";
    
    # If this is a manylinux2015 docker image running as container, add gcc and g++ to PATH
    if(-d "/opt/rh/devtoolset-10/root/usr/bin/") {
        $ENV{'PATH'} = "/opt/rh/devtoolset-10/root/usr/bin/:".$ENV{'PATH'};
    }
    
    $ENV{'LANG'} = "en_NZ.UTF-8";
    $ENV{'SHELL'} = "/bin/bash";
    $ENV{'TERM'} = "xterm";
    $ENV{'LC_ALL'} = "C";

    source_bash_script_in_place("$home_dir/ext-cli/SETUP-CLI.sh");
}

if ($os_name =~ "MSWin32") {
    	my $home_dir = "D:\\greenstone\\gs-release-builder-".$bitness."bit";
	print STDERR "Running windows setup from $home_dir\\envi\\etc\\environment.pl\n";
	$ENV{'EXT_CLI_DIR'} = "$home_dir\\ext-cli";
	
	source_batch_script_in_place("$home_dir\\ext-cli\\SETUP-CLI.bat");

    if ($bitness =~ "64") {

	print "Calling Visual Studio vcvars64.bat\n";
	source_batch_script("C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\VC\\Auxiliary\\Build\\vcvars64.bat");
    } else {
	print "Calling Visual Studio vcvarsamd64_x86.bat\n";
	source_batch_script("C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\VC\\Auxiliary\\Build\\vcvarsamd64_x86.bat");
    }
}

if($os_name =~ "darwin") {
    #$ENV{'OSTYPE'} = "darwin18"; #`echo $OSTYPE`;
    # find OSTYPE with uname -v and use major version number of kernel version
    # or use uname -r and get the kernel major version directly
    
    # svn is in /usr/bin
    $ENV{'RELEASES_DIR'}= "/Users/greenstone/gs-release-builder";
    $ENV{'EXT_CLI_DIR'} = "$ENV{'RELEASES_DIR'}/ext-cli";
    #$ENV{'JAVA_HOME'} = "$ENV{'RELEASES_DIR'}/JDK7u80/Home";
    #$ENV{'JAVA_HOME'} = "$ENV{RELEASES_DIR}/JDK8u301/Home";
    #$ENV{'PATH'} = "$ENV{'JAVA_HOME'}/bin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin";
    $ENV{'PATH'} = "/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin";
    
    $ENV{'DATA_DIR'}="$ENV{'RELEASES_DIR'}/snapshots";
    $ENV{'LANG'} = "en_NZ.UTF-8";
    $ENV{'SHELL'} = "/bin/bash";
    $ENV{'TERM'} = "xterm-256color";
    #$ENV{'THIS_MACHINE'} = "macrocarpa";

    source_bash_script_in_place("$ENV{'RELEASES_DIR'}/ext-cli/SETUP-CLI.sh");
}
