Subject: Re: Openssl build changes
To: None <tech-toolchain@NetBSD.org>
From: Martin Husemann <martin@duskware.de>
List: tech-toolchain
Date: 12/10/2005 11:52:39
--8t9RHnE3ZwKMSgU+
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline

So I came up with the attached patch for the infrastructure change. It seems
to work this way.

The original problem, however, turned out to be a bit bigger than I thought.
(For fun, try to rename your /usr/include/openssl directory and then build
libcrypto.)

I'll fix it later this weekend (family, season and mulled wine getting in the
way).

Any comments on this part of the change?

Martin

--8t9RHnE3ZwKMSgU+
Content-Type: text/plain; charset=us-ascii
Content-Disposition: attachment; filename=patch

Index: bsd.README
===================================================================
RCS file: /cvsroot/src/share/mk/bsd.README,v
retrieving revision 1.170
diff -u -r1.170 bsd.README
--- bsd.README	27 Jun 2005 20:32:40 -0000	1.170
+++ bsd.README	10 Dec 2005 10:49:37 -0000
@@ -590,6 +590,13 @@
 		For each lnsrc item, create a symlink named lntgt.
 		The lntgt symlinks are removed by the cleandir target.
 
+BUILDDIRSYMLINKS	List of three word items:
+			lnsrc lndir lntgt
+		For each lnsrc item, create a symlink named lntgt in a
+		subdirectory called lndir.
+		The lntgt symlinks and lndir subdirectories are removed
+		by the cleandir target.
+
 UUDECODE_FILES	List of files which are stored as <file>.uue in the source
 		tree. Each one will be decoded with ${TOOL_UUDECODE}.
 		The source files have a `.uue' suffix, the generated files do 
Index: bsd.files.mk
===================================================================
RCS file: /cvsroot/src/share/mk/bsd.files.mk,v
retrieving revision 1.37
diff -u -r1.37 bsd.files.mk
--- bsd.files.mk	17 May 2004 12:58:17 -0000	1.37
+++ bsd.files.mk	10 Dec 2005 10:49:37 -0000
@@ -108,6 +108,36 @@
 .endif								# }
 
 #
+# BUILDDIRSYMLINKS
+#
+.if defined(BUILDDIRSYMLINKS)					# {
+
+.for _SL _DL _TL in ${BUILDDIRSYMLINKS}
+BUILDDIRSYMLINKS.s+=	${_SL}
+BUILDDIRSYMLINKS.t+=	${_DL}/${_TL}
+${_DL}/${_TL}: ${_SL} ${_DL}/.dummy
+	${_MKTARGET_CREATE}
+	rm -f ${_DL}/${_TL}
+	ln -s ${_SL} ${_DL}/${_TL}
+
+.if !defined(BUILDDIRSYMLINKS.d.${_DL}.done)
+${_DL}/.dummy:
+	mkdir -p ${_DL}
+	touch ${_DL}/.dummy
+BUILDDIRSYMLINKS.d+=	${_DL}
+BUILDDIRSYMLINKS.d.${_DL}.done=1
+.endif
+.endfor
+
+${SRCS}: ${BUILDDIRSYMLINKS.t}
+
+cleandir: cleanbuilddirsymlinks
+cleanbuilddirsymlinks: .PHONY
+	rm -rf ${BUILDDIRSYMLINKS.d}
+
+.endif								# }
+
+#
 # .uue -> "" handling (i.e. decode a given binary/object)
 #
 # UUDECODE_FILES -	List of files which are stored in the source tree

--8t9RHnE3ZwKMSgU+--