Module Name: src
Committed By: apb
Date: Sun Dec 2 12:37:08 UTC 2012
Modified Files:
src/tools/compat: defs.mk.in
Log Message:
Add two variables to tools/compat/defs.mk.in:
COMPATLIB_UNINSTALLED:
If "yes", then use the files from the .OBJDIR of
NETBSDSRCDIR/tools/compat. Otherwise, use the files
from TOOLDIR.
COMPATLIB_NO_LIB:
If "yes" then do not use the library (but still use
the include files).
COMPATLIB_UNINSTALLED defaults to "yes" for now, but this will soon be
changed to "no.
To generate a diff of this commit:
cvs rdiff -u -r1.10 -r1.11 src/tools/compat/defs.mk.in
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/tools/compat/defs.mk.in
diff -u src/tools/compat/defs.mk.in:1.10 src/tools/compat/defs.mk.in:1.11
--- src/tools/compat/defs.mk.in:1.10 Sun Aug 14 20:22:42 2011
+++ src/tools/compat/defs.mk.in Sun Dec 2 12:37:08 2012
@@ -1,8 +1,73 @@
-# $NetBSD: defs.mk.in,v 1.10 2011/08/14 20:22:42 apb Exp $
-
+# $NetBSD: defs.mk.in,v 1.11 2012/12/02 12:37:08 apb Exp $
+#
+# Makefile fragment for building with libnbcompat and associated
+# include files. It can also be used for building just with
+# the include files, without the library.
+#
+# This can be used when the library and include files have been installed
+# into TOOLDIR (by "make install" in the src/tools/compat directory),
+# or when they have not been installed into TOOLDIR but reside
+# in the .OBJDIR associated with src/tools/compat.
+#
+# Variables:
+#
+# COMPATLIB_UNINSTALLED:
+# If "yes", then use the files from the .OBJDIR of
+# NETBSDSRCDIR/tools/compat. Otherwise, use the files
+# from TOOLDIR.
+#
+# COMPATLIB_NO_LIB:
+# If "yes" then do not use the library (but still use
+# the include files).
+#
+# Examples:
+#
+# * Use uninstalled copy of libnbcompat and associated *.h files:
+#
+# COMPATLIB_UNINSTALLED= yes
+# COMPATOBJ!= cd ${NETBSDSRCDIR}/tools/compat && ${PRINTOBJDIR}
+# .-include "${COMPATOBJ}/defs.mk"
+#
+# * Use TOOLDIR copy of libnbcompat and associated *.h files:
+#
+# .-include "${TOOLDIR}/share/compat/defs.mk"
+#
+# * Use TOOLDIR copy of compat *.h files, but do not use libnbcompat.a:
+#
+# COMPATLIB_NO_LIB= yes
+# .-include "${TOOLDIR}/share/compat/defs.mk"
+#
+# The use of ".-include" instead of ".include" above is because it's
+# expected that the file might not exist during "make obj" or "make clean".
+#
+
+.include <bsd.own.mk>
+
+# Use the installed (TOOLDIR) version of the library and headers by default
+COMPATLIB_UNINSTALLED ?= yes # will be changed to "no" as soon as callers
+ # have been adjusted.
+# Use library and includes by default.
+COMPATLIB_NO_LIB ?= no
+
+.if "${COMPATLIB_UNINSTALLED}" == "yes"
+# The library lives in the .OBJDIR.
+#
+# Some include files live directly in the .OBJDIR, while others
+# live in subdirectories of .OBJDIR/include.
+#
COMPATOBJ:= ${.PARSEDIR}
-HOSTEXEEXT= @EXEEXT@
+COMPATLIBDIR= ${COMPATOBJ}
+COMPATINCFLAGS= -I${COMPATOBJ} -I${COMPATOBJ}/include
+.else
+# The library lives in TOOLDIR/lib.
+#
+# All include files live in TOOLDIR/include/comnpat, and its subdirectories.
+#
+COMPATLIBDIR= ${TOOLDIR}/lib
+COMPATINCFLAGS= -I${TOOLDIR}/include/compat
+.endif
+HOSTEXEEXT= @EXEEXT@
HOST_BSHELL= @BSHELL@
BUILD_OSTYPE!= uname -s
@@ -12,11 +77,12 @@ BUILD_OSTYPE!= uname -s
HOST_CPPFLAGS+= -no-cpp-precomp
.endif
-HOST_CPPFLAGS+= -I${COMPATOBJ} -I${COMPATOBJ}/include \
- -I${.CURDIR}/../compat -DHAVE_NBTOOL_CONFIG_H=1 \
- -D_FILE_OFFSET_BITS=64
+HOST_CPPFLAGS+= ${COMPATINCFLAGS} -I${NETBSDSRCDIR}/tools/compat \
+ -DHAVE_NBTOOL_CONFIG_H=1 -D_FILE_OFFSET_BITS=64
-DPADD+= ${COMPATOBJ}/libnbcompat.a
-LDADD+= -L${COMPATOBJ} -lnbcompat @LIBS@
+.if "${COMPATLIB_NO_LIB}" != "yes"
+DPADD+= ${COMPATLIBDIR}/libnbcompat.a
+LDADD+= -L${COMPATLIBDIR} -lnbcompat @LIBS@
+.endif # ! COMPATLIB_NO_LIB
HAVE_PTHREAD_H= @HAVE_PTHREAD_H@