summaryrefslogtreecommitdiff
path: root/mk/buildlink3
diff options
context:
space:
mode:
authorjlam <jlam@pkgsrc.org>2005-05-24 03:44:04 +0000
committerjlam <jlam@pkgsrc.org>2005-05-24 03:44:04 +0000
commit80f5031e99c1c6f4ca2689e5d7e8e4ac67696ebc (patch)
tree5e2bfbc5fd8a708522cfb0400729a62ecdd3a6b8 /mk/buildlink3
parentddd821887522a4ea8086df036afba72f1d823d49 (diff)
downloadpkgsrc-80f5031e99c1c6f4ca2689e5d7e8e4ac67696ebc.tar.gz
Add a new file find-libs.mk that can be included by builtin.mk files
to detect the presence of libraries in the base system. The input variable is BUILDLINK_FIND_LIBS, which is a list of library names, e.g. ncurses, iconv, etc., that will be sought in the base system. BUILDLINK_LIB_FOUND.<lib> is set to "yes" or "no" depending on the result of the search. An example use is: BUILDLINK_FIND_LIBS:= intl iconv .include "../../mk/buildlink3/find-libs.mk" # ${BUILDLINK_LIB_FOUND.intl} and ${BUILDLINK_LIB_FOUND.iconv} are now # either "yes" or "no".
Diffstat (limited to 'mk/buildlink3')
-rw-r--r--mk/buildlink3/find-libs.mk75
1 files changed, 75 insertions, 0 deletions
diff --git a/mk/buildlink3/find-libs.mk b/mk/buildlink3/find-libs.mk
new file mode 100644
index 00000000000..538e852c7f5
--- /dev/null
+++ b/mk/buildlink3/find-libs.mk
@@ -0,0 +1,75 @@
+# $NetBSD: find-libs.mk,v 1.1 2005/05/24 03:44:04 jlam Exp $
+#
+# Copyright (c) 2005 The NetBSD Foundation, Inc.
+# All rights reserved.
+#
+# This code is derived from software contributed to The NetBSD Foundation
+# by Johnny C. Lam.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+# 1. Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in the
+# documentation and/or other materials provided with the distribution.
+# 3. All advertising materials mentioning features or use of this software
+# must display the following acknowledgement:
+# This product includes software developed by the NetBSD
+# Foundation, Inc. and its contributors.
+# 4. Neither the name of The NetBSD Foundation nor the names of its
+# contributors may be used to endorse or promote products derived
+# from this software without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+# ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+# TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+# POSSIBILITY OF SUCH DAMAGE.
+#
+
+#
+# This is a "subroutine" that can be included to detect the presence of
+# libraries in the base system.
+#
+# The input variable is BUILDLINK_FIND_LIBS, which is a list of library
+# names, e.g. ncurses, iconv, etc., that will be sought in the base
+# system. BUILDLINK_LIB_FOUND.<lib> is set to "yes" or "no" depending
+# on the result of the search.
+#
+# An example use is:
+#
+# BUILDLINK_FIND_LIBS:= intl iconv
+# .include "../../mk/buildlink3/find-libs.mk"
+# # ${BUILDLINK_LIB_FOUND.intl} and ${BUILDLINK_LIB_FOUND.iconv} are now
+# # either "yes" or "no".
+#
+
+.if empty(PKGSRC_USE_TOOLS:Mecho)
+PKGSRC_USE_TOOLS+= echo
+.endif
+.if empty(PKGSRC_USE_TOOLS:Mtest)
+PKGSRC_USE_TOOLS+= test
+.endif
+
+.for _lib_ in ${BUILDLINK_FIND_LIBS}
+. if !defined(BUILDLINK_LIB_FOUND.${_lib_})
+BUILDLINK_LIB_FOUND.${_lib_}!= \
+ if ${TEST} "`${ECHO} /usr/lib/lib${_lib_}.*`" != "/usr/lib/lib${_lib_}.*"; then \
+ ${ECHO} yes; \
+ elif ${TEST} "`${ECHO} /lib/lib${_lib_}.*`" != "/lib/lib${_lib_}.*"; then \
+ ${ECHO} yes; \
+ else \
+ ${ECHO} no; \
+ fi
+. endif
+MAKEVARS+= BUILDLINK_LIB_FOUND.${_lib_}
+.endfor
+.undef _lib_