Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
86 changes: 6 additions & 80 deletions src/main/native/ock/jgskit.mac.mak
Original file line number Diff line number Diff line change
Expand Up @@ -7,33 +7,12 @@
# this code, including the "Classpath" Exception described therein.
###############################################################################

TOPDIR=../../../..

CFLAGS= -fPIC -DMAC -Werror -std=gnu99 -pedantic -Wall -fstack-protector -m64
LDFLAGS= -shared -m64
CC ?= clang

ifeq (${PLATFORM},x86_64-mac)
ARCHFLAGS= -arch x86_64
else ifeq (${PLATFORM},aarch64-mac)
ARCHFLAGS= -arch arm64
endif

#Setting this flag will result non key material such as handle to OCK Objects etc being logged to the trace file.
#This flag must be disabled before building production version
#DEBUG_FLAGS += -DDEBUG
#DEBUG_DETAIL = -DDEBUG_RANDOM_DETAIL -DDEBUG_RAND_DETAIL -DDEBUG_DH_DETAIL -DDEBUG_DSA_DETAIL -DDEBUG_DIGEST_DETAIL -DDEBUG_EC_DETAIL -DDEBUG_EXTENDED_RANDOM_DETAIL -DDEBUG_GCM_DETAIL -DDEBUG_CCM_DETAIL -DDEBUG_HMAC_DETAIL -DDEBUG_PKEY_DETAIL -DDEBUG_CIPHER_DETAIL -DDEBUG_RSA_DETAIL -DDEBUG_SIGNATURE_DETAIL -DDEBUG_SIGNATURE_DSANONE_DETAIL -DDEBUG_SIGNATURE_RSASSL_DETAIL -DDEBUG_HKDF_DETAIL -DDEBUG_RSAPSS_DETAIL -DDEBUG_SIGNATURE_EDDSA_DETAIL -DDEBUG_PBKDF_DETAIL -DDEBUG_PQC_KEY_DETAIL

#Setting this flag will result sensitive key material such as private/public key bytes/parameter bytes being logged to the trace file.
#Please warn the customer know that it not suitable to deploy jgskit library on production system, enabling this flag.
#This flag must be disabled before building production version
#DEBUG_DATA = -DDEBUG_DH_DATA -DDEBUG_DSA_DATA -DDEBUG_EC_DATA -DDEBUG_GCM_DATA -DDEBUG_CCM_DATA -DDEBUG_HMAC_DATA -DDEBUG_CIPHER_DATA -DDEBUG_RSA_DATA -DDEBUG_SIGNATURE_DATA -DDEBUG_SIGNATURE_DSANONE_DATA -DDEBUG_SIGNATURE_RSASSL_DATA -DDEBUG_HKDF_DATA -DDEBUG_RSAPSS_DATA -DDEBUG_SIGNATURE_EDDSA_DATA
#DEBUG_FLAGS+= -g ${DEBUG_DETAIL} ${DEBUG_DATA}

BUILDTOP = ${TOPDIR}/target
HOSTOUT = ${BUILDTOP}/jgskit-${PLATFORM}
OPENJCEPLUS_HEADER_FILES ?= ${TOPDIR}/src/main/native/ock
JAVACLASSDIR=${BUILDTOP}/classes
NATIVE_DIR = ${NATIVE_TOPDIR}/ock
NATIVE_LIB_HOME = ${GSKIT_HOME}
JNI_CLASS = ${TOPDIR}/src/main/java/com/ibm/crypto/plus/provider/ock/NativeOCKImplementation.java
JNI_HEADER = com_ibm_crypto_plus_provider_ock_NativeOCKImplementation.h
TARGET_LIBS := -L ${GSKIT_HOME}/lib64 -l jgsk8iccs

OBJS = \
${HOSTOUT}/AESKeyWrap.o \
Expand Down Expand Up @@ -67,57 +46,4 @@ OBJS = \

TARGET = ${HOSTOUT}/libjgskit.dylib

all : displaycompiler ${TARGET}

${TARGET} : ${OBJS}
${CC} ${LDFLAGS} ${ARCHFLAGS} -o ${TARGET} ${OBJS} -L ${GSKIT_HOME}/lib64 -l jgsk8iccs

${HOSTOUT}/%.o : %.c
test -d ${@D} || mkdir -p ${@D} 2>/dev/null
${CC} \
${ARCHFLAGS} \
${CFLAGS} \
${DEBUG_FLAGS} \
-c \
-I${GSKIT_HOME}/inc \
-I${JAVA_HOME}/include \
-I${JAVA_HOME}/include/darwin \
-I${OPENJCEPLUS_HEADER_FILES} \
-o $@ \
$<

displaycompiler :
@echo "-------------------------------------"
@echo "Compiler version: " && ${CC} --version
@echo "Building with ${CC} compiler..."
@echo "-------------------------------------"

# Force BuildDate to be compiled every time.
#
${HOSTOUT}/BuildDate.o : FORCE

FORCE :

ifneq (${EXTERNAL_HEADERS},true)

${OBJS} : | headers

headers :
echo "Compiling OpenJCEPlus headers"
${JAVA_HOME}/bin/javac \
--add-exports java.base/sun.security.util=openjceplus \
--add-exports java.base/sun.security.util=ALL-UNNAMED \
-d ${JAVACLASSDIR} \
-h ${TOPDIR}/src/main/native/ock/ \
${TOPDIR}/src/main/java/com/ibm/crypto/plus/provider/base/FastJNIBuffer.java \
${TOPDIR}/src/main/java/com/ibm/crypto/plus/provider/ock/NativeOCKImplementation.java

endif # ! EXTERNAL_HEADERS

clean :
rm -f ${HOSTOUT}/*.o
rm -f ${HOSTOUT}/*.dylib
rm -f com_ibm_crypto_plus_provider_base_FastJNIBuffer.h
rm -f com_ibm_crypto_plus_provider_ock_NativeOCKImplementation.h

.PHONY : all headers clean FORCE displaycompiler
include ../share/common.mac.mak
122 changes: 7 additions & 115 deletions src/main/native/ock/jgskit.mak
Original file line number Diff line number Diff line change
Expand Up @@ -7,65 +7,11 @@
# this code, including the "Classpath" Exception described therein.
###############################################################################

TOPDIR=../../../..

PLAT=x86
CC ?= gcc
CFLAGS= -fPIC -Werror -std=gnu99 -pedantic -Wall -fstack-protector
LDFLAGS= -shared

ifeq (${PLATFORM},arm-linux64)
PLAT=xr
CFLAGS+= -DLINUX
OSINCLUDEDIR=linux
else ifeq (${PLATFORM},ppc-aix64)
PLAT=ap
CC=xlclang
CFLAGS+= -DAIX -m64
LDFLAGS+= -brtl -m64
OSINCLUDEDIR=aix
else ifeq (${PLATFORM},ppcle-linux64)
PLAT=xl
CFLAGS+= -DLINUX -m64
LDFLAGS+= -m64
OSINCLUDEDIR=linux
else ifeq (${PLATFORM},s390-linux64)
PLAT=xz
CFLAGS+= -DS390_PLATFORM -DLINUX -m64
LDFLAGS+= -m64
OSINCLUDEDIR=linux
else ifeq (${PLATFORM},s390-zos64)
CC=xlc
PLAT=mz
CFLAGS= -DS390 -m64
CFLAGS+= -O3 -Wc,strict,hgpr,hot
CFLAGS+= -Wc,XPLINK,LP64,DLL,exportall
LDFLAGS= -Wl,XPLINK,LP64,DLL,AMODE=64
ICCARCHIVE = ${GSKIT_HOME}/libjgsk8iccs_64.x
OSINCLUDEDIR=zos
else ifeq (${PLATFORM},x86-linux64)
PLAT=xa
CFLAGS+= -DLINUX -m64
LDFLAGS+= -m64
OSINCLUDEDIR=linux
endif

#Setting this flag will result non key material such as handle to OCK Objects etc being logged to the trace file.
#This flag must be disabled before building production version
#DEBUG_FLAGS += -DDEBUG
#DEBUG_DETAIL = -DDEBUG_RANDOM_DETAIL -DDEBUG_RAND_DETAIL -DDEBUG_DH_DETAIL -DDEBUG_DSA_DETAIL -DDEBUG_DIGEST_DETAIL -DDEBUG_EC_DETAIL -DDEBUG_EXTENDED_RANDOM_DETAIL -DDEBUG_GCM_DETAIL -DDEBUG_CCM_DETAIL -DDEBUG_HMAC_DETAIL -DDEBUG_PKEY_DETAIL -DDEBUG_CIPHER_DETAIL -DDEBUG_RSA_DETAIL -DDEBUG_SIGNATURE_DETAIL -DDEBUG_SIGNATURE_DSANONE_DETAIL -DDEBUG_SIGNATURE_RSASSL_DETAIL -DDEBUG_HKDF_DETAIL -DDEBUG_RSAPSS_DETAIL -DDEBUG_SIGNATURE_EDDSA_DETAIL -DDEBUG_PBKDF_DETAIL -DDEBUG_PQC_KEY_DETAIL

#Setting this flag will result sensitive key material such as private/public key bytes/parameter bytes being logged to the trace file.
#Please warn the customer know that it not suitable to deploy jgskit library on production system, enabling this flag.
#This flag must be disabled before building production version
#DEBUG_DATA = -DDEBUG_DH_DATA -DDEBUG_DSA_DATA -DDEBUG_EC_DATA -DDEBUG_GCM_DATA -DDEBUG_CCM_DATA -DDEBUG_HMAC_DATA -DDEBUG_CIPHER_DATA -DDEBUG_RSA_DATA -DDEBUG_SIGNATURE_DATA -DDEBUG_SIGNATURE_DSANONE_DATA -DDEBUG_SIGNATURE_RSASSL_DATA -DDEBUG_HKDF_DATA -DDEBUG_RSAPSS_DATA -DDEBUG_SIGNATURE_EDDSA_DATA
#DEBUG_FLAGS+= -g ${DEBUG_DETAIL} ${DEBUG_DATA}

BUILDTOP = ${TOPDIR}/target
HOSTOUT = ${BUILDTOP}/jgskit-${PLAT}-64

OPENJCEPLUS_HEADER_FILES ?= ${TOPDIR}/src/main/native/ock
JAVACLASSDIR=${BUILDTOP}/classes
NATIVE_DIR = ${NATIVE_TOPDIR}/ock
NATIVE_LIB_HOME = ${GSKIT_HOME}
JNI_CLASS = ${TOPDIR}/src/main/java/com/ibm/crypto/plus/provider/ock/NativeOCKImplementation.java
JNI_HEADER = com_ibm_crypto_plus_provider_ock_NativeOCKImplementation.h

OBJS = \
${HOSTOUT}/AESKeyWrap.o \
Expand Down Expand Up @@ -101,64 +47,10 @@ TARGET = ${HOSTOUT}/libjgskit.so

GSK8ICCS64=jgsk8iccs_64

all : displaycompiler ${TARGET}

ifneq (,$(filter s390-zos64,${PLATFORM}))
TARGET_LIBS := ${ICCARCHIVE}
TARGET_LIBS := $(NATIVE_LIB_HOME)/libjgsk8iccs_64.x
else
TARGET_LIBS := -L ${GSKIT_HOME}/lib64 -l ${GSK8ICCS64}
TARGET_LIBS := -L ${NATIVE_LIB_HOME}/lib64 -l ${GSK8ICCS64}
endif

${TARGET} : ${OBJS}
${CC} ${LDFLAGS} -o ${TARGET} ${OBJS} ${TARGET_LIBS}

${HOSTOUT}/%.o : %.c
test -d ${@D} || mkdir -p ${@D}
${CC} \
${CFLAGS} \
${DEBUG_FLAGS} \
-c \
-I${GSKIT_HOME}/inc \
-I${JAVA_HOME}/include \
-I${JAVA_HOME}/include/${OSINCLUDEDIR} \
-I${OPENJCEPLUS_HEADER_FILES} \
-o $@ \
$<

displaycompiler :
@echo "Compiler version: " && ${CC} --version
@echo "Building with ${CC} compiler..."
@echo "-------------------------------------"

# Force BuildDate to be compiled every time.
#
${HOSTOUT}/BuildDate.o : FORCE

FORCE :

ifneq (${EXTERNAL_HEADERS},true)

${OBJS} : | headers

headers :
echo "Compiling OpenJCEPlus headers"
${JAVA_HOME}/bin/javac \
--add-exports java.base/sun.security.util=openjceplus \
--add-exports java.base/sun.security.util=ALL-UNNAMED \
-d ${JAVACLASSDIR} \
-h ${TOPDIR}/src/main/native/ock/ \
${TOPDIR}/src/main/java/com/ibm/crypto/plus/provider/base/FastJNIBuffer.java \
${TOPDIR}/src/main/java/com/ibm/crypto/plus/provider/ock/NativeOCKImplementation.java; \
if [ "${PLATFORM}" = "s390-zos64" ]; \
then chtag -t -c ISO8859-1 com_ibm_crypto_plus_provider_ock_NativeOCKImplementation.h; \
fi

endif # ! EXTERNAL_HEADERS

clean :
rm -f ${HOSTOUT}/*.o
rm -f ${HOSTOUT}/*.so
rm -f com_ibm_crypto_plus_provider_base_FastJNIBuffer.h
rm -f com_ibm_crypto_plus_provider_ock_NativeOCKImplementation.h

.PHONY : all headers clean FORCE displaycompiler
include ../share/common.mak
79 changes: 8 additions & 71 deletions src/main/native/ock/jgskit.win64.cygwin.mak
Original file line number Diff line number Diff line change
Expand Up @@ -7,23 +7,11 @@
# this code, including the "Classpath" Exception described therein.
###############################################################################

TOPDIR = $(MAKEDIR)\..\..\..\..

PLAT = win
CFLAGS= -nologo -DWINDOWS
CC = cl

#DEBUG_DETAIL = -DDEBUG_RANDOM_DETAIL -DDEBUG_RAND_DETAIL -DDEBUG_DH_DETAIL -DDEBUG_DSA_DETAIL -DDEBUG_DIGEST_DETAIL -DDEBUG_EC_DETAIL -DDEBUG_EXTENDED_RANDOM_DETAIL -DDEBUG_GCM_DETAIL -DDEBUG_CCM_DETAIL -DDEBUG_HMAC_DETAIL -DDEBUG_PKEY_DETAIL -DDEBUG_CIPHER_DETAIL -DDEBUG_RSA_DETAIL -DDEBUG_SIGNATURE_DETAIL -DDEBUG_SIGNATURE_DSANONE_DETAIL -DDEBUG_SIGNATURE_RSASSL_DETAIL -DDEBUG_HKDF_DETAIL -DDEBUG_RSAPSS_DETAIL -DDEBUG_SIGNATURE_EDDSA_DETAIL -DDEBUG_PBKDF_DETAIL -DDEBUG_PQC_KEY_DETAIL

#Setting this flag will result sensitive key material such as private/public key bytes/parameter bytes being logged to the trace file.
#Please warn the customer know that it not suitable to deploy jgskit library on production system, enabling this flag.
#This flag must be disabled before building production version
#DEBUG_DATA = -DDEBUG_DH_DATA -DDEBUG_DSA_DATA -DDEBUG_EC_DATA -DDEBUG_GCM_DATA -DDEBUG_CCM_DATA -DDEBUG_HMAC_DATA -DDEBUG_CIPHER_DATA -DDEBUG_RSA_DATA -DDEBUG_SIGNATURE_DATA -DDEBUG_SIGNATURE_DSANONE_DATA -DDEBUG_SIGNATURE_RSASSL_DATA -DDEBUG_HKDF_DATA -DDEBUG_RSAPSS_DATA -DDEBUG_SIGNATURE_EDDSA_DATA
#DEBUG_FLAGS = -DDEBUG $(DEBUG_DETAIL) $(DEBUG_DATA)

BUILDTOP = $(TOPDIR)\target\build$(PLAT)
HOSTOUT = $(BUILDTOP)\host64
JAVACLASSDIR = $(TOPDIR)\target\classes
NATIVE_DIR = $(NATIVE_TOPDIR)\ock
NATIVE_LIB_HOME = $(GSKIT_HOME)
JNI_CLASS = $(TOPDIR)\src\main\java\com\ibm\crypto\plus\provider\ock\NativeOCKImplementation.java
JNI_HEADER = com_ibm_crypto_plus_provider_ock_NativeOCKImplementation.h

OBJS= \
AESKeyWrap.obj \
Expand Down Expand Up @@ -57,61 +45,10 @@ OBJS= \

TARGET = libjgskit_64.dll

JGSKIT_RC_SRC = jgskit_resource.rc
JGSKIT_RC_OBJ = jgskit_resource.res

all : displaycompiler copy

copy : $(TARGET)
-@mkdir -p $(HOSTOUT) 2>nul
-@cp *.obj $(HOSTOUT)
-@cp jgskit_resource.res $(HOSTOUT)
-@cp libjgskit_64.dll $(HOSTOUT)

$(TARGET) : $(OBJS) $(JGSKIT_RC_OBJ)
link -dll -out:$@ $(OBJS) $(JGSKIT_RC_OBJ) -LIBPATH:"$(GSKIT_HOME)/lib" jgsk8iccs_64.lib

$(JGSKIT_RC_OBJ) : $(JGSKIT_RC_SRC)
rc $(BUILD_CFLAGS) -Fo$@ $(JGSKIT_RC_SRC)

.c.obj :
$(CC) \
$(DEBUG_FLAGS) \
$(CFLAGS) \
-c \
-I"$(GSKIT_HOME)/inc" \
-I"$(JAVA_HOME)/include" \
-I"$(JAVA_HOME)/include/win32" \
$*.c

displaycompiler :
@echo "Compiler version: " && $(CC)
@echo "Building with $(CC) compiler..."
@echo "-------------------------------------"

# Force BuildDate to be recompiled every time
#
BuildDate.obj : FORCE

FORCE :

$(OBJS) : headers
RC_SRC = jgskit_resource.rc
RC_OBJ = jgskit_resource.res

headers :
echo "Compiling OpenJCEPlus headers"
$(JAVA_HOME)\bin\javac \
--add-exports java.base/sun.security.util=openjceplus \
--add-exports java.base/sun.security.util=ALL-UNNAMED \
-d $(JAVACLASSDIR) \
-h $(TOPDIR)\src\main\native\ock\ \
$(TOPDIR)\src\main\java\com\ibm\crypto\plus\provider\base\FastJNIBuffer.java \
$(TOPDIR)\src\main\java\com\ibm\crypto\plus\provider\ock\NativeOCKImplementation.java
TARGET_LIBS = -LIBPATH:"$(NATIVE_LIB_HOME)\lib" jgsk8iccs_64.lib

clean :
-@del $(HOSTOUT)\*.obj
-@del $(HOSTOUT)\*.exp
-@del $(HOSTOUT)\*.lib
-@del $(HOSTOUT)\*.dll
-@del $(HOSTOUT)\*.res
!INCLUDE ../share/common.win64.cygwin.mak

.PHONY : all clean copy headers displaycompiler
Loading
Loading