Page Menu
Home
FreeBSD
Search
Configure Global Search
Log In
Files
F115670382
D47062.id144815.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Flag For Later
Award Token
Size
3 KB
Referenced Files
None
Subscribers
None
D47062.id144815.diff
View Options
diff --git a/Makefile.inc1 b/Makefile.inc1
--- a/Makefile.inc1
+++ b/Makefile.inc1
@@ -3200,6 +3200,7 @@
lib/libgcc_s__L: lib/libc__L
lib/libgcc_s__L: lib/libc_nonshared__L
lib/libcxxrt__L: lib/libgcc_s__L
+lib/libcrypt__L: lib/libmd__L
_prebuild_libs= ${_kerberos5_lib_libasn1} \
${_kerberos5_lib_libhdb} \
diff --git a/lib/Makefile b/lib/Makefile
--- a/lib/Makefile
+++ b/lib/Makefile
@@ -127,6 +127,7 @@
SUBDIR_DEPEND_libc= libsys libcompiler_rt libssp_nonshared
SUBDIR_DEPEND_libcam= libsbuf
SUBDIR_DEPEND_libcasper= libnv
+SUBDIR_DEPEND_libcrypt= libmd
SUBDIR_DEPEND_libdevstat= libkvm
SUBDIR_DEPEND_libdpv= libfigpar ncurses libutil
SUBDIR_DEPEND_libedit= ncurses
diff --git a/lib/libcrypt/Makefile b/lib/libcrypt/Makefile
--- a/lib/libcrypt/Makefile
+++ b/lib/libcrypt/Makefile
@@ -10,17 +10,15 @@
SHLIB_MAJOR= 5
LIB= crypt
-.PATH: ${SRCTOP}/sys/kern ${SRCTOP}/sys/crypto/sha2
SRCS= crypt.c misc.c \
- crypt-md5.c md5c.c \
- crypt-nthash.c md4c.c \
- crypt-sha256.c sha256c.c \
- crypt-sha512.c sha512c.c
+ crypt-md5.c \
+ crypt-nthash.c \
+ crypt-sha256.c \
+ crypt-sha512.c
MAN= crypt.3
MLINKS= crypt.3 crypt_get_format.3 crypt.3 crypt_r.3 \
crypt.3 crypt_set_format.3
-CFLAGS+= -I${SRCTOP}/lib/libmd \
- -I${SRCTOP}/sys/crypto/sha2
+CFLAGS+= -I${SRCTOP}/lib/libmd
# Pull in the strong crypto, if it is present.
.if exists(${SRCTOP}/secure/lib/libcrypt) && ${MK_CRYPT} != "no"
@@ -29,17 +27,6 @@
CFLAGS+= -I${.CURDIR} -DHAS_DES -DHAS_BLOWFISH
.endif
-.for sym in MD4Init MD4Final MD4Update MD4Pad \
- MD5Init MD5Final MD5Update MD5Pad \
- SHA224_Init SHA224_Final SHA224_Update \
- SHA256_Init SHA256_Final SHA256_Update \
- SHA512_224_Init SHA512_224_Final SHA512_224_Update \
- SHA512_256_Init SHA512_256_Final SHA512_256_Update \
- SHA384_Init SHA384_Final SHA384_Update \
- SHA512_Init SHA512_Final SHA512_Update
-CFLAGS+= -D${sym}=__${sym}
-.endfor
-
WARNS?= 2
PRECIOUSLIB=
@@ -47,4 +34,22 @@
HAS_TESTS=
SUBDIR.${MK_TESTS}+= tests
+LIBADD+= md
+SHLIB_LDSCRIPT= libcrypt.ldscript
+STATIC_LDSCRIPT= libcrypt.aldscript
+CLEANFILES+= libcrypt.ald
+
+libcrypt.ald: ${.CURDIR}/${STATIC_LDSCRIPT}
+ sed -e 's,@@LIB@@,${LIB},g' \
+ -e 's,@@STATICLIB_SUFFIX@@,${_STATICLIB_SUFFIX},g' \
+ ${.ALLSRC} > ${.TARGET}
+
+all: ${STATIC_LDSCRIPT} libcrypt.ald
+
+install-libcrypt.a: libcrypt.ald
+ ${INSTALL} ${TAG_ARGS:D${TAG_ARGS},dev} -S -C -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \
+ ${_INSTALLFLAGS} libcrypt.ald ${DESTDIR}${_LIBDIR}/lib${LIB}.a
+
+realinstall: install-libcrypt.a
+
.include <bsd.lib.mk>
diff --git a/lib/libcrypt/libcrypt.aldscript b/lib/libcrypt/libcrypt.aldscript
new file mode 100644
--- /dev/null
+++ b/lib/libcrypt/libcrypt.aldscript
@@ -0,0 +1 @@
+INPUT(-l@@LIB@@@@STATICLIB_SUFFIX@@ -lmd)
diff --git a/lib/libcrypt/libcrypt.ldscript b/lib/libcrypt/libcrypt.ldscript
new file mode 100644
--- /dev/null
+++ b/lib/libcrypt/libcrypt.ldscript
@@ -0,0 +1 @@
+INPUT(@@SHLIB@@ AS_NEEDED(-lmd))
diff --git a/share/mk/src.libnames.mk b/share/mk/src.libnames.mk
--- a/share/mk/src.libnames.mk
+++ b/share/mk/src.libnames.mk
@@ -320,6 +320,7 @@
_DP_cap_pwd= nv
_DP_cap_sysctl= nv
_DP_cap_syslog= nv
+_DP_crypt= md
.if ${MK_OFED} != "no"
_DP_pcap= ibverbs mlx5
.endif
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Sun, Apr 27, 9:29 PM (12 h, 4 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
17822066
Default Alt Text
D47062.id144815.diff (3 KB)
Attached To
Mode
D47062: lib/libcrypt: unbundle hash functions
Attached
Detach File
Event Timeline
Log In to Comment