ihse | 554e46f | 2013-11-14 11:19:32 +0100 | [diff] [blame] | 1 | # |
| 2 | # Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved. |
| 3 | # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
| 4 | # |
| 5 | # This code is free software; you can redistribute it and/or modify it |
| 6 | # under the terms of the GNU General Public License version 2 only, as |
| 7 | # published by the Free Software Foundation. Oracle designates this |
| 8 | # particular file as subject to the "Classpath" exception as provided |
| 9 | # by Oracle in the LICENSE file that accompanied this code. |
| 10 | # |
| 11 | # This code is distributed in the hope that it will be useful, but WITHOUT |
| 12 | # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or |
| 13 | # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License |
| 14 | # version 2 for more details (a copy is included in the LICENSE file that |
| 15 | # accompanied this code). |
| 16 | # |
| 17 | # You should have received a copy of the GNU General Public License version |
| 18 | # 2 along with this work; if not, write to the Free Software Foundation, |
| 19 | # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. |
| 20 | # |
| 21 | # Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA |
| 22 | # or visit www.oracle.com if you need additional information or have any |
| 23 | # questions. |
| 24 | # |
| 25 | |
| 26 | LIBJAAS_MAPFILE := |
| 27 | ifneq ($(OPENJDK_TARGET_OS), solaris) |
| 28 | LIBJAAS_EXCLUDE_FILES := Solaris.c |
| 29 | else |
| 30 | # only on solaris...wonder why |
| 31 | LIBJAAS_MAPFILE := $(JDK_TOPDIR)/make/mapfiles/libjaas/mapfile-vers |
| 32 | endif |
| 33 | |
| 34 | LIBJAAS_NAME := jaas_unix |
| 35 | ifeq ($(OPENJDK_TARGET_OS), windows) |
| 36 | LIBJAAS_NAME := jaas_nt |
| 37 | endif |
| 38 | |
| 39 | $(eval $(call SetupNativeCompilation,BUILD_LIBJAAS, \ |
| 40 | LIBRARY := $(LIBJAAS_NAME), \ |
| 41 | OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \ |
| 42 | SRC := $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/com/sun/security/auth/module, \ |
| 43 | LANG := C, \ |
| 44 | OPTIMIZATION := LOW, \ |
| 45 | CFLAGS := $(CFLAGS_JDKLIB), \ |
| 46 | MAPFILE := $(LIBJAAS_MAPFILE), \ |
| 47 | LDFLAGS := $(filter-out -ljava, $(LDFLAGS_JDKLIB)) \ |
| 48 | $(call SET_SHARED_LIBRARY_ORIGIN), \ |
| 49 | LDFLAGS_windows := netapi32.lib user32.lib mpr.lib advapi32.lib, \ |
| 50 | LDFLAGS_SUFFIX_windows := $(LDFLAGS_JDKLIB_SUFFIX), \ |
| 51 | LDFLAGS_SUFFIX_solaris := -lc, \ |
| 52 | EXCLUDE_FILES := $(LIBJAAS_EXCLUDE_FILES), \ |
| 53 | VERSIONINFO_RESOURCE := $(JDK_TOPDIR)/src/windows/resource/version.rc, \ |
| 54 | RC_FLAGS := $(RC_FLAGS) \ |
| 55 | -D "JDK_FNAME=$(LIBJAAS_NAME).dll" \ |
| 56 | -D "JDK_INTERNAL_NAME=$(LIBJAAS_NAME)" \ |
| 57 | -D "JDK_FTYPE=0x2L", \ |
| 58 | OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libjaas, \ |
| 59 | DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES))) |
| 60 | |
| 61 | $(BUILD_LIBJAAS): $(BUILD_LIBJAVA) |
| 62 | |
| 63 | BUILD_LIBRARIES += $(BUILD_LIBJAAS) |
| 64 | |
| 65 | ########################################################################################## |
| 66 | |
| 67 | $(eval $(call SetupNativeCompilation,BUILD_LIBJ2PCSC, \ |
| 68 | LIBRARY := j2pcsc, \ |
| 69 | OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \ |
| 70 | SRC := $(JDK_TOPDIR)/src/share/native/sun/security/smartcardio \ |
| 71 | $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/smartcardio, \ |
| 72 | LANG := C, \ |
| 73 | CFLAGS_posix := -D__sun_jdk, \ |
| 74 | OPTIMIZATION := LOW, \ |
| 75 | CFLAGS := $(CFLAGS_JDKLIB) \ |
| 76 | -I$(JDK_TOPDIR)/src/share/native/sun/security/smartcardio \ |
| 77 | -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/smartcardio \ |
| 78 | -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/smartcardio/MUSCLE, \ |
| 79 | MAPFILE := $(JDK_TOPDIR)/make/mapfiles/libj2pcsc/mapfile-vers, \ |
| 80 | LDFLAGS := $(LDFLAGS_JDKLIB) \ |
| 81 | $(call SET_SHARED_LIBRARY_ORIGIN), \ |
| 82 | LDFLAGS_SUFFIX_posix := $(LIBDL), \ |
| 83 | LDFLAGS_SUFFIX_windows := winscard.lib, \ |
| 84 | LDFLAGS_SUFFIX_solaris := -lc, \ |
| 85 | VERSIONINFO_RESOURCE := $(JDK_TOPDIR)/src/windows/resource/version.rc, \ |
| 86 | RC_FLAGS := $(RC_FLAGS) \ |
| 87 | -D "JDK_FNAME=j2pcsc.dll" \ |
| 88 | -D "JDK_INTERNAL_NAME=j2pcsc" \ |
| 89 | -D "JDK_FTYPE=0x2L", \ |
| 90 | OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libj2pcsc, \ |
| 91 | DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES))) |
| 92 | |
| 93 | BUILD_LIBRARIES += $(BUILD_LIBJ2PCSC) |
| 94 | |
| 95 | ########################################################################################## |
| 96 | |
| 97 | ifneq ($(OPENJDK_TARGET_OS), windows) |
| 98 | $(eval $(call SetupNativeCompilation,BUILD_LIBJ2GSS, \ |
| 99 | LIBRARY := j2gss, \ |
| 100 | OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \ |
| 101 | SRC := $(JDK_TOPDIR)/src/share/native/sun/security/jgss/wrapper \ |
| 102 | $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/jgss/wrapper, \ |
| 103 | LANG := C, \ |
| 104 | OPTIMIZATION := LOW, \ |
| 105 | CFLAGS := $(CFLAGS_JDKLIB) \ |
| 106 | -I$(JDK_TOPDIR)/src/share/native/sun/security/jgss/wrapper \ |
| 107 | -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/jgss/wrapper, \ |
| 108 | MAPFILE := $(JDK_TOPDIR)/make/mapfiles/libj2gss/mapfile-vers, \ |
| 109 | LDFLAGS := $(LDFLAGS_JDKLIB) \ |
| 110 | $(call SET_SHARED_LIBRARY_ORIGIN), \ |
| 111 | LDFLAGS_SUFFIX := $(LIBDL), \ |
| 112 | LDFLAGS_SUFFIX_solaris := -lc, \ |
| 113 | OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libj2gss, \ |
| 114 | DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES))) |
| 115 | |
| 116 | BUILD_LIBRARIES += $(BUILD_LIBJ2GSS) |
| 117 | endif |
| 118 | |
| 119 | ########################################################################################## |
| 120 | |
| 121 | ifneq ($(BUILD_CRYPTO), no) |
| 122 | BUILD_LIBKRB5_NAME := |
| 123 | ifeq ($(OPENJDK_TARGET_OS), windows) |
| 124 | BUILD_LIBKRB5_NAME := w2k_lsa_auth |
| 125 | BUILD_LIBKRB5_SRC := $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/krb5 |
| 126 | BUILD_LIBKRB5_LIBS := advapi32.lib Secur32.lib netapi32.lib kernel32.lib user32.lib \ |
| 127 | gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib \ |
| 128 | ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib |
| 129 | else ifeq ($(OPENJDK_TARGET_OS), macosx) |
| 130 | BUILD_LIBKRB5_NAME := osxkrb5 |
| 131 | BUILD_LIBKRB5_SRC := $(JDK_TOPDIR)/src/share/native/sun/security/krb5 |
| 132 | BUILD_LIBKRB5_LIBS := -framework Kerberos |
| 133 | endif |
| 134 | |
| 135 | ifneq ($(BUILD_LIBKRB5_NAME), ) |
| 136 | $(eval $(call SetupNativeCompilation,BUILD_LIBKRB5, \ |
| 137 | LIBRARY := $(BUILD_LIBKRB5_NAME), \ |
| 138 | OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \ |
| 139 | SRC := $(BUILD_LIBKRB5_SRC), \ |
| 140 | LANG := C, \ |
| 141 | OPTIMIZATION := LOW, \ |
| 142 | CFLAGS := $(CFLAGS_JDKLIB) \ |
| 143 | -I$(JDK_TOPDIR)/src/share/native/sun/security/krb5 \ |
| 144 | -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/krb5, \ |
| 145 | LDFLAGS := $(LDFLAGS_JDKLIB) \ |
| 146 | $(call SET_SHARED_LIBRARY_ORIGIN), \ |
| 147 | LDFLAGS_SUFFIX := $(BUILD_LIBKRB5_LIBS), \ |
| 148 | VERSIONINFO_RESOURCE := $(JDK_TOPDIR)/src/windows/resource/version.rc, \ |
| 149 | RC_FLAGS := $(RC_FLAGS) \ |
| 150 | -D "JDK_FNAME=$(BUILD_LIBKRB5_NAME).dll" \ |
| 151 | -D "JDK_INTERNAL_NAME=$(BUILD_LIBKRB5_NAME)" \ |
| 152 | -D "JDK_FTYPE=0x2L", \ |
| 153 | OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libkrb5, \ |
| 154 | DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES))) |
| 155 | |
| 156 | BUILD_LIBRARIES += $(BUILD_LIBKRB5) |
| 157 | endif |
| 158 | endif |
| 159 | |
| 160 | ########################################################################################## |
| 161 | |
| 162 | ifeq ($(OPENJDK_TARGET_OS), windows) |
| 163 | |
| 164 | $(eval $(call SetupNativeCompilation,BUILD_LIBSUNMSCAPI, \ |
| 165 | LIBRARY := sunmscapi, \ |
| 166 | OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \ |
| 167 | SRC := $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/mscapi, \ |
| 168 | LANG := C++, \ |
| 169 | OPTIMIZATION := LOW, \ |
| 170 | CFLAGS := $(CFLAGS_JDKLIB) \ |
| 171 | -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/mscapi, \ |
| 172 | LDFLAGS := $(LDFLAGS_JDKLIB) $(LDFLAGS_CXX_JDK) \ |
| 173 | $(call SET_SHARED_LIBRARY_ORIGIN), \ |
| 174 | LDFLAGS_SUFFIX := Crypt32.Lib advapi32.lib, \ |
| 175 | VERSIONINFO_RESOURCE := $(JDK_TOPDIR)/src/windows/resource/version.rc, \ |
| 176 | RC_FLAGS := $(RC_FLAGS) \ |
| 177 | -D "JDK_FNAME=sunmscapi.dll" \ |
| 178 | -D "JDK_INTERNAL_NAME=sunmscapi" \ |
| 179 | -D "JDK_FTYPE=0x2L", \ |
| 180 | OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libsunmscapi, \ |
| 181 | DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES))) |
| 182 | |
| 183 | BUILD_LIBRARIES += $(BUILD_LIBSUNMSCAPI) |
| 184 | endif |
| 185 | |
| 186 | ########################################################################################## |
| 187 | |
| 188 | $(eval $(call SetupNativeCompilation,BUILD_LIBJ2PKCS11, \ |
| 189 | LIBRARY := j2pkcs11, \ |
| 190 | OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \ |
| 191 | SRC := $(JDK_TOPDIR)/src/share/native/sun/security/pkcs11 \ |
| 192 | $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/pkcs11 \ |
| 193 | $(JDK_TOPDIR)/src/share/native/sun/security/pkcs11/wrapper \ |
| 194 | $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/pkcs11/wrapper, \ |
| 195 | LANG := C, \ |
| 196 | OPTIMIZATION := LOW, \ |
| 197 | CFLAGS := $(CFLAGS_JDKLIB) \ |
| 198 | -I$(JDK_TOPDIR)/src/share/native/sun/security/pkcs11 \ |
| 199 | -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/pkcs11 \ |
| 200 | -I$(JDK_TOPDIR)/src/share/native/sun/security/pkcs11/wrapper \ |
| 201 | -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/pkcs11/wrapper, \ |
| 202 | MAPFILE := $(JDK_TOPDIR)/make/mapfiles/libj2pkcs11/mapfile-vers, \ |
| 203 | LDFLAGS := $(LDFLAGS_JDKLIB) \ |
| 204 | $(call SET_SHARED_LIBRARY_ORIGIN), \ |
| 205 | LDFLAGS_SUFFIX_posix := $(LIBDL), \ |
| 206 | LDFLAGS_SUFFIX_solaris := -lc, \ |
| 207 | VERSIONINFO_RESOURCE := $(JDK_TOPDIR)/src/windows/resource/version.rc, \ |
| 208 | RC_FLAGS := $(RC_FLAGS) \ |
| 209 | -D "JDK_FNAME=j2pkcs11.dll" \ |
| 210 | -D "JDK_INTERNAL_NAME=j2pkcs11" \ |
| 211 | -D "JDK_FTYPE=0x2L", \ |
| 212 | OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libj2pkcs11, \ |
| 213 | DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES))) |
| 214 | |
| 215 | BUILD_LIBRARIES += $(BUILD_LIBJ2PKCS11) |
| 216 | |
| 217 | ########################################################################################## |
| 218 | |
| 219 | ifeq ($(ENABLE_INTREE_EC), yes) |
| 220 | |
| 221 | BUILD_LIBSUNEC_FLAGS := -I$(JDK_TOPDIR)/src/share/native/sun/security/ec \ |
| 222 | -I$(JDK_TOPDIR)/src/share/native/sun/security/ec/impl |
| 223 | |
| 224 | # |
| 225 | # On sol-sparc...all libraries are compiled with -xregs=no%appl |
| 226 | # (set in CFLAGS_REQUIRED_sparc) |
| 227 | # |
| 228 | # except!!! libsunec.so |
| 229 | # |
| 230 | ECC_JNI_SOLSPARC_FILTER := |
| 231 | ifeq ($(OPENJDK_TARGET_CPU_ARCH), sparc) |
| 232 | ECC_JNI_SOLSPARC_FILTER := -xregs=no%appl |
| 233 | endif |
| 234 | |
| 235 | $(eval $(call SetupNativeCompilation,BUILD_LIBSUNEC, \ |
| 236 | LIBRARY := sunec, \ |
| 237 | OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \ |
| 238 | SRC := $(JDK_TOPDIR)/src/share/native/sun/security/ec \ |
| 239 | $(JDK_TOPDIR)/src/share/native/sun/security/ec/impl, \ |
| 240 | LANG := C++, \ |
| 241 | OPTIMIZATION := LOW, \ |
| 242 | CFLAGS := $(filter-out $(ECC_JNI_SOLSPARC_FILTER), $(CFLAGS_JDKLIB)) \ |
| 243 | $(BUILD_LIBSUNEC_FLAGS) \ |
| 244 | -DMP_API_COMPATIBLE -DNSS_ECC_MORE_THAN_SUITE_B, \ |
| 245 | CXXFLAGS := $(filter-out $(ECC_JNI_SOLSPARC_FILTER), $(CXXFLAGS_JDKLIB)) \ |
| 246 | $(BUILD_LIBSUNEC_FLAGS), \ |
| 247 | MAPFILE := $(JDK_TOPDIR)/make/mapfiles/libsunec/mapfile-vers, \ |
| 248 | LDFLAGS := $(LDFLAGS_JDKLIB) $(LDFLAGS_CXX_JDK), \ |
| 249 | LDFLAGS_macosx := $(call SET_SHARED_LIBRARY_ORIGIN), \ |
| 250 | LDFLAGS_SUFFIX := $(LIBCXX), \ |
| 251 | LDFLAGS_SUFFIX_linux := -lc, \ |
| 252 | LDFLAGS_SUFFIX_solaris := -lc, \ |
| 253 | VERSIONINFO_RESOURCE := $(JDK_TOPDIR)/src/windows/resource/version.rc, \ |
| 254 | RC_FLAGS := $(RC_FLAGS) \ |
| 255 | -D "JDK_FNAME=sunec.dll" \ |
| 256 | -D "JDK_INTERNAL_NAME=sunec" \ |
| 257 | -D "JDK_FTYPE=0x2L", \ |
| 258 | OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libsunec, \ |
| 259 | DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES))) |
| 260 | |
| 261 | BUILD_LIBRARIES += $(BUILD_LIBSUNEC) |
| 262 | endif |
| 263 | |
| 264 | ########################################################################################## |
| 265 | |
| 266 | ifeq ($(OPENJDK_TARGET_OS), solaris) |
| 267 | ifndef OPENJDK |
| 268 | |
| 269 | $(eval $(call SetupNativeCompilation,BUILD_LIBJ2UCRYPTO, \ |
| 270 | LIBRARY := j2ucrypto, \ |
| 271 | OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \ |
| 272 | SRC := $(JDK_TOPDIR)/src/closed/solaris/native/com/oracle/security/ucrypto, \ |
| 273 | LANG := C, \ |
| 274 | OPTIMIZATION := LOW, \ |
| 275 | CFLAGS := $(CFLAGS_JDKLIB) \ |
| 276 | -I$(JDK_TOPDIR)/src/closed/solaris/native/com/oracle/security/ucrypto, \ |
| 277 | MAPFILE := $(JDK_TOPDIR)/make/mapfiles/libj2ucrypto/mapfile-vers, \ |
| 278 | LDFLAGS := $(LDFLAGS_JDKLIB), \ |
| 279 | LDFLAGS_SUFFIX := $(LIBDL), \ |
| 280 | LDFLAGS_SUFFIX_solaris := -lc, \ |
| 281 | OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libj2ucrypto, \ |
| 282 | DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES))) |
| 283 | |
| 284 | $(BUILD_LIBJ2UCRYPTO): $(BUILD_LIBJAVA) |
| 285 | |
| 286 | BUILD_LIBRARIES += $(BUILD_LIBJ2UCRYPTO) |
| 287 | |
| 288 | endif |
| 289 | endif |