Skip to content

Commit 1adcc49

Browse files
committed
Try to bring back the AIX build
1 parent 4e98188 commit 1adcc49

File tree

2 files changed

+23
-8
lines changed

2 files changed

+23
-8
lines changed

build.sbt

+7-7
Original file line numberDiff line numberDiff line change
@@ -188,7 +188,8 @@ Compile / packageBin / packageOptions ++= Seq(
188188
|linux/s390x/libzstd-jni-${version.value}.so;osname=Linux;processor=s390x,
189189
|win/amd64/libzstd-jni-${version.value}.dll;osname=Win32;processor=amd64,
190190
|win/aarch64/libzstd-jni-${version.value}.dll;osname=Win32;processor=aarch64,
191-
|win/x86/libzstd-jni-${version.value}.dll;osname=Win32;processor=x86""".stripMargin.replace("\n", "")),
191+
|win/x86/libzstd-jni-${version.value}.dll;osname=Win32;processor=x86,
192+
|aix/ppc64/libzstd-jni-${version.value}.so;osname=AIX;processor=ppc64""".stripMargin.replace("\n", "")),
192193
Package.ManifestAttributes(new java.util.jar.Attributes.Name("Export-Package") -> s"""com.github.luben.zstd;version="${version.value.replace("-", ".")}",com.github.luben.zstd.util;version="${version.value.replace("-", ".")}""""),
193194
Package.ManifestAttributes(new java.util.jar.Attributes.Name("Import-Package") -> "org.osgi.framework;resolution:=optional"),
194195
Package.ManifestAttributes(new java.util.jar.Attributes.Name("Private-Package") ->
@@ -208,7 +209,8 @@ Compile / packageBin / packageOptions ++= Seq(
208209
|linux.s390x,
209210
|win.aarch64,
210211
|win.amd64,
211-
|win.x86""".stripMargin.replace("\n","")),
212+
|win.x86,
213+
|aix.ppc64""".stripMargin.replace("\n","")),
212214
Package.ManifestAttributes(new java.util.jar.Attributes.Name("Require-Capability") -> """osgi.ee;filter:="(&(osgi.ee=JavaSE)(version>=1.8))""""),
213215
)
214216

@@ -328,14 +330,12 @@ Linux_riscv64 / packageBin / mappings := {
328330
}
329331
addArtifact(Artifact(nameValue, "linux_riscv64"), Linux_riscv64 / packageBin)
330332

331-
/*
332333
lazy val Aix_ppc64 = config("aix_ppc64").extend(Compile)
333334
inConfig(Aix_ppc64)(Defaults.compileSettings)
334335
mappings in (Aix_ppc64, packageBin) := {
335336
(file(s"target/classes/aix/ppc64/libzstd-jni-${version.value}.so"), s"aix/ppc64/libzstd-jni-${version.value}.so") :: classes
336337
}
337338
addArtifact(Artifact(nameValue, "aix_ppc64"), packageBin in Aix_ppc64)
338-
*/
339339

340340
lazy val Darwin_x86_64 = config("darwin_x86_64").extend(Compile)
341341
inConfig(Darwin_x86_64)(Defaults.compileSettings)
@@ -365,21 +365,21 @@ FreeBSD_i386 / packageBin / mappings := {
365365
}
366366
addArtifact(Artifact(nameValue, "freebsd_i386"), FreeBSD_i386 / packageBin)
367367

368-
val Win_x86 = config("win_x86").extend(Compile)
368+
lazy val Win_x86 = config("win_x86").extend(Compile)
369369
inConfig(Win_x86)(Defaults.compileSettings)
370370
Win_x86 / packageBin / mappings := {
371371
(file(s"target/classes/win/x86/libzstd-jni-${version.value}.dll"), s"win/x86/libzstd-jni-${version.value}.dll") :: classes
372372
}
373373
addArtifact(Artifact(nameValue, "win_x86"), Win_x86 / packageBin)
374374

375-
val Win_amd64 = config("win_amd64").extend(Compile)
375+
lazy val Win_amd64 = config("win_amd64").extend(Compile)
376376
inConfig(Win_amd64)(Defaults.compileSettings)
377377
Win_amd64 / packageBin / mappings := {
378378
(file(s"target/classes/win/amd64/libzstd-jni-${version.value}.dll"), s"win/amd64/libzstd-jni-${version.value}.dll") :: classes
379379
}
380380
addArtifact(Artifact(nameValue, "win_amd64"), Win_amd64 / packageBin)
381381

382-
val Win_aarch64 = config("win_aarch64").extend(Compile)
382+
lazy val Win_aarch64 = config("win_aarch64").extend(Compile)
383383
inConfig(Win_aarch64)(Defaults.compileSettings)
384384
Win_aarch64 / packageBin / mappings := {
385385
(file(s"target/classes/win/aarch64/libzstd-jni-${version.value}.dll"), s"win/aarch64/libzstd-jni-${version.value}.dll") :: classes

make_so.sh

+16-1
Original file line numberDiff line numberDiff line change
@@ -25,12 +25,27 @@ compile () {
2525
scp $HOST:libzstd-jni-$VERSION.so $INSTALL
2626
}
2727

28+
compile_ppc64_aix () {
29+
ARCH=ppc64
30+
OS=aix
31+
CC=xlc_r
32+
HOST="gcc-$ARCH-$OS"
33+
echo "Compiling for $ARCH/$OS on $HOST"
34+
INSTALL=target/classes/$OS/$ARCH
35+
ssh $HOST rm -rf jni native
36+
scp -r jni $HOST:
37+
scp -r src/main/native $HOST:
38+
ssh $HOST 'export PATH=$HOME/bin:$PATH; '$CC' -q64 -bshared -brtl -G -DDYNAMIC_BMI2=0 -O3 -DZSTD_LEGACY_SUPPORT=4 -DZSTD_MULTITHREAD=1 -I/usr/include -I./jni -I./native -I./native/common -I./native/legacy -o libzstd-jni-'$VERSION'.so native/*.c native/legacy/*.c native/common/*.c native/compress/*.c native/decompress/*.c native/dictBuilder/*.c'
39+
mkdir -p $INSTALL
40+
scp $HOST:libzstd-jni-$VERSION.so $INSTALL
41+
}
42+
2843
compile amd64 linux
29-
#compile i386 linux "gcc -march=i586 -static-libgcc"
3044
compile ppc64 linux
3145
compile ppc64le linux
3246
compile aarch64 linux
3347
compile mips64 linux
3448
compile loongarch64 linux
3549
compile amd64 freebsd "cc"
3650
compile i386 freebsd "cc -m32 -march=i486 -mfancy-math-387"
51+
compile_ppc64_aix

0 commit comments

Comments
 (0)