Skip to content

Commit

Permalink
add x86 support from PR #11
Browse files Browse the repository at this point in the history
thank you @ashdar 🙏  Sorry it took so long! now there'd be a conflict so i added it myself
  • Loading branch information
potatoqualitee committed Jan 30, 2025
1 parent 7cce14e commit 5d3f532
Show file tree
Hide file tree
Showing 3 changed files with 35 additions and 3 deletions.
29 changes: 27 additions & 2 deletions build/build-core.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,7 @@ if ($IsLinux -or $IsMacOs) {
$null = mkdir ./lib/win
$null = mkdir ./lib/mac
$null = mkdir ./lib/win-sqlclient
$null = mkdir ./lib/win-sqlclient-x86
} else {
$tempdir = "C:/temp"
$null = New-Item -ItemType Directory $tempdir -ErrorAction Ignore
Expand All @@ -60,6 +61,7 @@ if ($IsLinux -or $IsMacOs) {
$null = New-Item -ItemType Directory ./lib/win
$null = New-Item -ItemType Directory ./lib/mac
$null = New-Item -ItemType Directory ./lib/win-sqlclient
$null = New-Item -ItemType Directory ./lib/win-sqlclient-x86
}


Expand Down Expand Up @@ -115,13 +117,36 @@ $parms.Name = "Microsoft.Identity.Client"
$parms.RequiredVersion = "4.67.1"
$null = Install-Package @parms

$parms.Name = "Microsoft.IdentityModel.Abstractions"
$parms.RequiredVersion = "8.3.1"
$null = Install-Package @parms

$parms.Name = "Azure.Core"
$parms.RequiredVersion = "1.38.0"
$null = Install-Package @parms



Copy-Item "$tempdir/nuget/Microsoft.Data.SqlClient.5.2.2/runtimes/unix/lib/net8.0/Microsoft.Data.SqlClient.dll" -Destination lib
# Copy to the 'x64' directory
Copy-Item "$tempdir/nuget/Microsoft.Data.SqlClient.5.2.2/runtimes/win/lib/net8.0/Microsoft.Data.SqlClient.dll" -Destination lib/win-sqlclient/
Copy-Item "$tempdir/nuget/Microsoft.Identity.Client.4.67.1/lib/net8.0/Microsoft.Identity.Client.dll" -Destination lib/win-sqlclient/ #Maybe this will be a problem, i dont know
Copy-Item "$tempdir/nuget/Microsoft.Identity.Client.4.67.1/lib/net8.0/Microsoft.Identity.Client.dll" -Destination lib/win-sqlclient/
Copy-Item "$tempdir/nuget/Microsoft.Data.SqlClient.SNI.runtime.5.2.0/runtimes/win-x64/native/Microsoft.Data.SqlClient.SNI.dll" -Destination lib/win-sqlclient/


# Copy to the 'x86' directory, but with a different SNI DLL file. Remember,the SNI file is not managed code, it's _native_.
Copy-Item "$tempdir/nuget/Microsoft.Data.SqlClient.5.2.2/runtimes/win/lib/net8.0/Microsoft.Data.SqlClient.dll" -Destination lib/win-sqlclient-x86/
Copy-Item "$tempdir/nuget/Microsoft.Identity.Client.4.67.1/lib/net8.0/Microsoft.Identity.Client.dll" -Destination lib/win-sqlclient-x86/
Copy-Item "$tempdir/nuget/Microsoft.Data.SqlClient.SNI.runtime.5.2.0/runtimes/win-x64/native/Microsoft.Data.SqlClient.SNI.dll" -Destination lib/win-sqlclient-x86/



Copy-Item "$tempdir/nuget/Azure.Core.1.38.0/lib/net6.0/Azure.Core.dll" -Destination lib/
Copy-Item "$tempdir/nuget/Microsoft.IdentityModel.Abstractions.8.3.1/lib/net8.0/Microsoft.IdentityModel.Abstractions.dll" -Destination lib/

Copy-Item ./temp/linux/* -Destination lib -Exclude (Get-ChildItem lib -Recurse) -Recurse -Include *.exe, *.config -Verbose


Copy-Item "./var/misc/core/*.dll" -Destination ./lib/
Copy-Item "./var/misc/both/*.dll" -Destination ./lib/
Copy-Item "./var/third-party-licenses" -Destination ./ -Recurse
Expand All @@ -131,7 +156,7 @@ $linux = 'libclrjit.so', 'libcoreclr.so', 'libhostfxr.so', 'libhostpolicy.so', '
$sqlp = Get-ChildItem ./temp/linux/* -Exclude (Get-ChildItem lib -Recurse) | Where-Object Name -in $linux
Copy-Item -Path $sqlp.FullName -Destination ./lib/

Get-ChildItem -Directory -Path ./lib | Where-Object Name -notin 'win-sqlclient', 'x64', 'x86', 'win', 'mac', 'macos' | Remove-Item -Recurse
Get-ChildItem -Directory -Path ./lib | Where-Object Name -notin 'win-sqlclient', 'win-sqlclient-x86', 'x64', 'x86', 'win', 'mac', 'macos' | Remove-Item -Recurse

Get-ChildItem ./lib, ./lib/win, ./lib/mac | Where-Object BaseName -in (Get-ChildItem /opt/microsoft/powershell/7).BaseName -OutVariable files

Expand Down
3 changes: 3 additions & 0 deletions build/build-full.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -103,6 +103,9 @@ $null = Install-Package @parms
Copy-Item "$tempdir\nuget\Microsoft.Identity.Client.4.67.1\lib\net462\Microsoft.Identity.Client.dll" -Destination lib/
Copy-Item "$tempdir\nuget\Microsoft.Data.SqlClient.SNI.runtime.5.2.0\runtimes\win-x64\native\Microsoft.Data.SqlClient.SNI.dll" -Destination lib/
Copy-Item "$tempdir\nuget\Azure.Core.1.38.0\lib\net461\Azure.Core.dll" -Destination lib/
Copy-Item "$tempdir\nuget\Microsoft.IdentityModel.Abstractions.8.3.1\lib\net462\Microsoft.IdentityModel.Abstractions.dll" -Destination lib/



Copy-Item "./var/misc/core/*.dll" -Destination ./lib/
Copy-Item "./var/misc/both/*.dll" -Destination ./lib/
Expand Down
6 changes: 5 additions & 1 deletion dbatools.library.psm1
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,11 @@ if ($PSVersionTable.PSEdition -ne "Core") {
}

if ($IsWindows -and $PSVersionTable.PSEdition -eq "Core") {
$sqlclient = [System.IO.Path]::Combine($script:libraryroot, "lib", "win-sqlclient", "Microsoft.Data.SqlClient.dll")
if ($env:PROCESSOR_ARCHITECTURE -eq "x86") {
$sqlclient = [System.IO.Path]::Combine($script:libraryroot, "lib", "win-sqlclient-x86", "Microsoft.Data.SqlClient.dll")
} else {
$sqlclient = [System.IO.Path]::Combine($script:libraryroot, "lib", "win-sqlclient", "Microsoft.Data.SqlClient.dll")
}
} else {
$sqlclient = [System.IO.Path]::Combine($script:libraryroot, "lib", "Microsoft.Data.SqlClient.dll")
}
Expand Down

0 comments on commit 5d3f532

Please sign in to comment.