Skip to content

Commit

Permalink
Platform specific cgo directives
Browse files Browse the repository at this point in the history
  • Loading branch information
docktermj committed Feb 26, 2025
1 parent 0f2eca8 commit fea4fc5
Show file tree
Hide file tree
Showing 8 changed files with 40 additions and 37 deletions.
15 changes: 4 additions & 11 deletions .github/workflows/go-test-darwin.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -41,24 +41,17 @@ jobs:
with:
senzingsdk-repository-path: ${{ secrets.SENZING_OSX_BETA_REPOSITORY }}

- name: configure environment
run: |
SENZING_PATH="${HOME}/senzing"
{
echo "SENZING_PATH=${SENZING_PATH}"
echo "DYLD_LIBRARY_PATH=${SENZING_PATH}/er/lib:${SENZING_PATH}/er/lib/macos"
echo "LD_LIBRARY_PATH=${SENZING_PATH}/er/lib:${SENZING_PATH}/er/lib/macos"
echo "SENZING_DATA_DIR=${SENZING_PATH}/er/data"
} >> "$GITHUB_ENV"
- name: Copy /etc files
run: sudo mkdir -p "${SENZING_PATH}/er/etc" && sudo cp testdata/senzing-license/g2.lic "${SENZING_PATH}/er/etc/g2.lic"
run: sudo mkdir -p "${HOME}/senzing/er/etc" && sudo cp testdata/senzing-license/g2.lic "${HOME}/senzing/er/etc/g2.lic"

- name: Copy test database files
run: mkdir -p /tmp/sqlite && cp testdata/sqlite/G2C.db /tmp/sqlite/

- name: Run go test
run: |
export SENZING_PATH="${HOME}/senzing"
export DYLD_LIBRARY_PATH="${SENZING_PATH}/er/lib:${SENZING_PATH}/er/lib/macos"
export LD_LIBRARY_PATH="${SENZING_PATH}/er/lib:${SENZING_PATH}/er/lib/macos"
go test -exec "${GITHUB_WORKSPACE}/bin/macos_exec_dyld.sh" -json -v -p 1 -coverprofile=./cover.out -covermode=atomic -coverpkg=./... ./... 2>&1 | tee /tmp/gotest.log | gotestfmt
- name: Store coverage file
Expand Down
11 changes: 2 additions & 9 deletions .github/workflows/go-test-linux.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -41,15 +41,6 @@ jobs:
senzingsdk-repository-package: ${{ secrets.SENZING_APT_BETA_STAGING_REPOSITORY_PACKAGE }}
senzingsdk-repository-path: ${{ secrets.SENZING_APT_BETA_STAGING_REPOSITORY_URL }}

- name: configure environment
run: |
SENZING_PATH="/opt/senzing"
{
echo "SENZING_PATH=${SENZING_PATH}"
echo "LD_LIBRARY_PATH=${SENZING_PATH}/er/lib"
echo "SENZING_DATA_DIR=${SENZING_PATH}/../data"
} >> "$GITHUB_ENV"
- name: Copy /etc files
run: sudo mkdir -p /etc/opt/senzing && sudo cp testdata/senzing-license/g2.lic /etc/opt/senzing/g2.lic

Expand All @@ -58,6 +49,8 @@ jobs:

- name: Run go test
run: |
export SENZING_PATH="/opt/senzing"
export LD_LIBRARY_PATH="${SENZING_PATH}/er/lib:${SENZING_PATH}/er/lib/macos"
go test -json -v -p 1 -coverprofile=./cover.out -covermode=atomic -coverpkg=./... ./... 2>&1 | tee /tmp/gotest.log | gotestfmt
- name: Store coverage file
Expand Down
11 changes: 4 additions & 7 deletions .github/workflows/go-test-windows.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -40,22 +40,19 @@ jobs:
with:
senzingsdk-repository-path: ${{ secrets.SENZING_WIN_BETA_REPOSITORY }}

- name: configure environment
run: |
# shellcheck disable=SC2028
echo "SENZING_PATH=$env:USERPROFILE\Senzing\er" | Out-File -FilePath $env:GITHUB_ENV -Append
- name: Add to "Path" environment variable
run: Add-Content "$env:GITHUB_PATH" "$Env:SENZING_PATH\lib"
run: Add-Content "$env:GITHUB_PATH" "$Env:USERPROFILE\Senzing\er\lib"

- name: Copy /etc files
run: copy testdata/senzing-license/g2.lic "$Env:SENZING_PATH\etc\g2.lic"
run: copy testdata/senzing-license/g2.lic "$Env:USERPROFILE\Senzing\er\etc\g2.lic"

- name: Copy test database files
run: mkdir "C:\Temp\sqlite" && copy testdata/sqlite/G2C.db "C:\Temp\sqlite\G2C.db"

- name: Run go test
run: |
# shellcheck disable=SC2086
echo "SENZING_PATH=$env:USERPROFILE\Senzing" | Out-File -FilePath $env:GITHUB_ENV -Append
go test -json -v -p 1 -coverprofile=cover -covermode=atomic -coverpkg=./... ./... 2>&1 | tee "C:\Temp\gotest.log" | gotestfmt
cp cover cover.out
Expand Down
8 changes: 6 additions & 2 deletions szconfig/szconfig.go
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,12 @@ package szconfig
#include <stdlib.h>
#include "libSzConfig.h"

Check failure on line 9 in szconfig/szconfig.go

View workflow job for this annotation

GitHub Actions / Go test with Senzing: staging-v4; OS: windows-latest; Go: 1.21

fatal error: libSzConfig.h: No such file or directory
#include "szhelpers/SzLang_helpers.h"
#cgo CFLAGS: -g -I${SENZING_PATH}/er/sdk/c
#cgo LDFLAGS: -L${SENZING_PATH}/er/lib -lSz
#cgo darwin CFLAGS: -g -I$SENZING_PATH/er/sdk/c
#cgo darwin LDFLAGS: -L$SENZING_PATH/er/lib -lSz
#cgo linux CFLAGS: -g -I/opt/senzing/er/sdk/c
#cgo linux LDFLAGS: -L/opt/senzing/er/lib -lSz
#cgo windows CFLAGS: -g -I$SENZING_PATH/er/sdk/c
#cgo windows LDFLAGS: -L$SENZING_PATH/er/lib -lSz
*/
import "C"

Expand Down
8 changes: 6 additions & 2 deletions szconfigmanager/szconfigmanager.go
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,12 @@ package szconfigmanager
#include <stdlib.h>
#include "libSzConfigMgr.h"

Check failure on line 9 in szconfigmanager/szconfigmanager.go

View workflow job for this annotation

GitHub Actions / Go test with Senzing: staging-v4; OS: windows-latest; Go: 1.21

fatal error: libSzConfigMgr.h: No such file or directory
#include "szhelpers/SzLang_helpers.h"
#cgo CFLAGS: -g -I${SENZING_PATH}/er/sdk/c
#cgo LDFLAGS: -L${SENZING_PATH}/er/lib -lSz
#cgo darwin CFLAGS: -g -I$SENZING_PATH/er/sdk/c
#cgo darwin LDFLAGS: -L$SENZING_PATH/er/lib -lSz
#cgo linux CFLAGS: -g -I/opt/senzing/er/sdk/c
#cgo linux LDFLAGS: -L/opt/senzing/er/lib -lSz
#cgo windows CFLAGS: -g -I$SENZING_PATH/er/sdk/c
#cgo windows LDFLAGS: -L$SENZING_PATH/er/lib -lSz
*/
import "C"

Expand Down
8 changes: 6 additions & 2 deletions szdiagnostic/szdiagnostic.go
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,12 @@ package szdiagnostic
#include "libSzDiagnostic.h"

Check failure on line 9 in szdiagnostic/szdiagnostic.go

View workflow job for this annotation

GitHub Actions / Go test with Senzing: staging-v4; OS: windows-latest; Go: 1.21

fatal error: libSzDiagnostic.h: No such file or directory
#include "libSz.h"
#include "szhelpers/SzLang_helpers.h"
#cgo CFLAGS: -g -I${SENZING_PATH}/er/sdk/c
#cgo LDFLAGS: -L${SENZING_PATH}/er/lib -lSz
#cgo darwin CFLAGS: -g -I$SENZING_PATH/er/sdk/c
#cgo darwin LDFLAGS: -L$SENZING_PATH/er/lib -lSz
#cgo linux CFLAGS: -g -I/opt/senzing/er/sdk/c
#cgo linux LDFLAGS: -L/opt/senzing/er/lib -lSz
#cgo windows CFLAGS: -g -I$SENZING_PATH/er/sdk/c
#cgo windows LDFLAGS: -L$SENZING_PATH/er/lib -lSz
*/
import "C"

Expand Down
8 changes: 6 additions & 2 deletions szengine/szengine.go
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,12 @@ package szengine
#include <stdlib.h>
#include "libSz.h"

Check failure on line 9 in szengine/szengine.go

View workflow job for this annotation

GitHub Actions / Go test with Senzing: staging-v4; OS: windows-latest; Go: 1.21

fatal error: libSz.h: No such file or directory
#include "szhelpers/SzLang_helpers.h"
#cgo CFLAGS: -g -I${SENZING_PATH}/er/sdk/c
#cgo LDFLAGS: -L${SENZING_PATH}/er/lib -lSz
#cgo darwin CFLAGS: -g -I$SENZING_PATH/er/sdk/c
#cgo darwin LDFLAGS: -L$SENZING_PATH/er/lib -lSz
#cgo linux CFLAGS: -g -I/opt/senzing/er/sdk/c
#cgo linux LDFLAGS: -L/opt/senzing/er/lib -lSz
#cgo windows CFLAGS: -g -I$SENZING_PATH/er/sdk/c
#cgo windows LDFLAGS: -L$SENZING_PATH/er/lib -lSz
*/
import "C"

Expand Down
8 changes: 6 additions & 2 deletions szproduct/szproduct.go
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,12 @@ package szproduct
#include <stdlib.h>
#include "libSzProduct.h"

Check failure on line 9 in szproduct/szproduct.go

View workflow job for this annotation

GitHub Actions / Go test with Senzing: staging-v4; OS: windows-latest; Go: 1.21

fatal error: libSzProduct.h: No such file or directory
#include "szhelpers/SzLang_helpers.h"
#cgo CFLAGS: -g -I${SENZING_PATH}/er/sdk/c
#cgo LDFLAGS: -L${SENZING_PATH}/er/lib -lSz
#cgo darwin CFLAGS: -g -I$SENZING_PATH/er/sdk/c
#cgo darwin LDFLAGS: -L$SENZING_PATH/er/lib -lSz
#cgo linux CFLAGS: -g -I/opt/senzing/er/sdk/c
#cgo linux LDFLAGS: -L/opt/senzing/er/lib -lSz
#cgo windows CFLAGS: -g -I$SENZING_PATH/er/sdk/c
#cgo windows LDFLAGS: -L$SENZING_PATH/er/lib -lSz
*/
import "C"

Expand Down

0 comments on commit fea4fc5

Please sign in to comment.