source@mandoc.bsd.lv
 help / color / mirror / Atom feed
* mdocml: Various people (among others Maxim Belooussov and Carsten Kunze)
@ 2016-05-18 21:37 schwarze
  0 siblings, 0 replies; only message in thread
From: schwarze @ 2016-05-18 21:37 UTC (permalink / raw)
  To: source

Log Message:
-----------
Various people (among others Maxim Belooussov and Carsten Kunze)
reported that the build system still assumed that ohash is only
needed if sqlite3 is also in use, which is no longer true:
The ohash library is now required no matter what.

Rework sqlite3 and ohash library autodetection
such that both work independently of each other.
Provide LDADD for additional linker flags.
Add some missing variables to configure.local.example.

Modified Files:
--------------
    mdocml:
        Makefile
        configure
        configure.local.example

Revision Data
-------------
Index: Makefile
===================================================================
RCS file: /home/cvs/mdocml/mdocml/Makefile,v
retrieving revision 1.481
retrieving revision 1.482
diff -LMakefile -LMakefile -u -p -r1.481 -r1.482
--- Makefile
+++ Makefile
@@ -1,7 +1,7 @@
 # $Id$
 #
 # Copyright (c) 2010, 2011, 2012 Kristaps Dzonsons <kristaps@bsd.lv>
-# Copyright (c) 2011, 2013, 2014, 2015 Ingo Schwarze <schwarze@openbsd.org>
+# Copyright (c) 2011, 2013-2016 Ingo Schwarze <schwarze@openbsd.org>
 #
 # Permission to use, copy, modify, and distribute this software for any
 # purpose with or without fee is hereby granted, provided that the above
@@ -409,16 +409,16 @@ libmandoc.a: $(COMPAT_OBJS) $(LIBMANDOC_
 	$(AR) rs $@ $(COMPAT_OBJS) $(LIBMANDOC_OBJS)
 
 mandoc: $(MAIN_OBJS) libmandoc.a
-	$(CC) $(LDFLAGS) -o $@ $(MAIN_OBJS) libmandoc.a $(DBLIB)
+	$(CC) $(LDFLAGS) -o $@ $(MAIN_OBJS) libmandoc.a $(LDADD)
 
 manpage: $(MANPAGE_OBJS) libmandoc.a
-	$(CC) $(LDFLAGS) -o $@ $(MANPAGE_OBJS) libmandoc.a $(DBLIB)
+	$(CC) $(LDFLAGS) -o $@ $(MANPAGE_OBJS) libmandoc.a $(LDADD)
 
 man.cgi: $(CGI_OBJS) libmandoc.a
-	$(CC) $(LDFLAGS) $(STATIC) -o $@ $(CGI_OBJS) libmandoc.a $(DBLIB)
+	$(CC) $(LDFLAGS) $(STATIC) -o $@ $(CGI_OBJS) libmandoc.a $(LDADD)
 
 demandoc: $(DEMANDOC_OBJS) libmandoc.a
-	$(CC) $(LDFLAGS) -o $@ $(DEMANDOC_OBJS) libmandoc.a $(DBLIB)
+	$(CC) $(LDFLAGS) -o $@ $(DEMANDOC_OBJS) libmandoc.a $(LDADD)
 
 soelim: $(SOELIM_OBJS)
 	$(CC) $(LDFLAGS) -o $@ $(SOELIM_OBJS)
Index: configure.local.example
===================================================================
RCS file: /home/cvs/mdocml/mdocml/configure.local.example,v
retrieving revision 1.10
retrieving revision 1.11
diff -Lconfigure.local.example -Lconfigure.local.example -u -p -r1.10 -r1.11
--- configure.local.example
+++ configure.local.example
@@ -1,6 +1,6 @@
 # $Id$
 #
-# Copyright (c) 2014, 2015 Ingo Schwarze <schwarze@openbsd.org>
+# Copyright (c) 2014, 2015, 2016 Ingo Schwarze <schwarze@openbsd.org>
 #
 # Permission to use, copy, modify, and distribute this software for any
 # purpose with or without fee is hereby granted, provided that the above
@@ -65,7 +65,7 @@ MANPATH_DEFAULT="/usr/share/man:/usr/X11
 # If you do not want uname(3) to be called but instead want a fixed
 # string to be used, use the following line:
 
-OSNAME="OpenBSD 5.6"
+OSNAME="OpenBSD 5.9"
 
 # The following installation directories are used.
 # It is possible to set only one or a few of these variables,
@@ -123,6 +123,19 @@ MANM_TBL="mandoc_tbl"		# default is "tbl
 BINM_MAN=mman			# default is "man"
 BINM_SOELIM=msoelim		# default is "soelim"
 
+# Before falling back to the bundled version of the ohash(3) hashing
+# library, autoconfiguration tries the following linker flag to
+# link against your system version.  If you do have ohash(3) on
+# your system but it needs different linker flags, set the following
+# variable to specify the required linker flags.
+
+LD_OHASH="-lutil"
+
+# Some platforms may need additional linker flags that are not autodetected.
+# For example, Solaris 9 and 10 need -lrt for nanosleep(2).
+
+LDADD="-lrt"
+
 # It is possible to change the utility program used for installation
 # and the modes files are installed with.  The defaults are:
 
@@ -141,18 +154,16 @@ INSTALL_DATA="${INSTALL} -m 0444"
 
 BUILD_DB=0
 
-# Two libraries are needed: SQLite3 and ohash(3).
-# Autoconfiguration tries the following linker flags to find them.
-# If none of these work, add a working DBLIB line to configure.local,
-# disabling autodetection for library directories.
-
-DBLIB="-lsqlite3"
-DBLIB="-lsqlite3 -lutil"
-DBLIB="-L/usr/local/lib -lsqlite3"
+# Autoconfiguration tries the following linker flags to find the
+# SQLite3 library installed on your system.  If none of these work,
+# set the following variable to specify the required linker flags.
+
+LD_SQLITE3="-lsqlite3"
+LD_SQLITE3="-L/usr/local/lib -lsqlite3"
 
 # When library autodetection decides to use -L/usr/local/lib,
 # -I/usr/local/include is automatically added to CFLAGS.
-# If you manually set DBLIB to something including -L/usr/local/lib,
+# If you manually set LD_SQLITE3 to something including -L/usr/local/lib,
 # chances are you will also need the following line:
 
 CFLAGS="${CFLAGS} -I/usr/local/include"
@@ -228,17 +239,27 @@ CFLAGS="-g -W -Wall -Wstrict-prototypes 
 # be regarded as successful).
 
 HAVE_DIRENT_NAMLEN=0
-HAVE_FGETLN=0
+HAVE_ERR=0
 HAVE_FTS=0
+HAVE_GETLINE=0
 HAVE_GETSUBOPT=0
+HAVE_ISBLANK=0
+HAVE_MKDTEMP=0
 HAVE_MMAP=0
+HAVE_PLEDGE=0
+HAVE_PROGNAME=0
 HAVE_REALLOCARRAY=0
+HAVE_REWB_BSD=0
+HAVE_REWB_SYSV=0
 HAVE_STRCASESTR=0
+HAVE_STRINGLIST=0
 HAVE_STRLCAT=0
 HAVE_STRLCPY=0
 HAVE_STRPTIME=0
 HAVE_STRSEP=0
 HAVE_STRTONUM=0
+HAVE_VASPRINTF=0
+HAVE_WCHAR=0
 
 HAVE_SQLITE3=0
 HAVE_SQLITE3_ERRSTR=0
Index: configure
===================================================================
RCS file: /home/cvs/mdocml/mdocml/configure,v
retrieving revision 1.37
retrieving revision 1.38
diff -Lconfigure -Lconfigure -u -p -r1.37 -r1.38
--- configure
+++ configure
@@ -1,6 +1,6 @@
 #!/bin/sh
 #
-# Copyright (c) 2014, 2015 Ingo Schwarze <schwarze@openbsd.org>
+# Copyright (c) 2014, 2015, 2016 Ingo Schwarze <schwarze@openbsd.org>
 #
 # Permission to use, copy, modify, and distribute this software for any
 # purpose with or without fee is hereby granted, provided that the above
@@ -36,7 +36,9 @@ OSNAME=
 
 CC=`printf "all:\\n\\t@echo \\\$(CC)\\n" | make -f -`
 CFLAGS="-g -W -Wall -Wstrict-prototypes -Wno-unused-parameter -Wwrite-strings"
-DBLIB=
+LDADD=
+LD_OHASH=
+LD_SQLITE3=
 STATIC="-static"
 
 BUILD_DB=1
@@ -198,28 +200,32 @@ runtest vasprintf	VASPRINTF	|| true
 runtest wchar		WCHAR		|| true
 
 # --- sqlite3 ---
-DETECTLIB=
 if [ ${BUILD_DB} -eq 0 ]; then
 	echo "BUILD_DB=0 (manual)" 1>&2
 	echo "BUILD_DB=0 (manual)" 1>&3
 	echo 1>&3
 	HAVE_SQLITE3=0
 elif ismanual sqlite3 "${HAVE_SQLITE3}"; then
-	DETECTLIB="-lsqlite3"
-elif [ -n "${DBLIB}" ]; then
-	runtest sqlite3 SQLITE3 "${DBLIB}" || true
+	if [ -z "${LD_SQLITE3}" ]; then
+		LD_SQLITE3="-lsqlite3"
+	fi
+elif [ -n "${LD_SQLITE3}" ]; then
+	runtest sqlite3 SQLITE3 "${LD_SQLITE3}" || true
 elif singletest sqlite3 SQLITE3 "-lsqlite3"; then
-	DETECTLIB="-lsqlite3"
+	LD_SQLITE3="-lsqlite3"
 elif runtest sqlite3 SQLITE3 \
 		"-I/usr/local/include -L/usr/local/lib -lsqlite3"; then
-	DETECTLIB="-L/usr/local/lib -lsqlite3"
+	LD_SQLITE3="-L/usr/local/lib -lsqlite3"
 	CFLAGS="${CFLAGS} -I/usr/local/include"
 fi
-if [ ${BUILD_DB} -gt 0 -a ${HAVE_SQLITE3} -eq 0 ]; then
-	echo "BUILD_DB=0 (no sqlite3)" 1>&2
-	echo "BUILD_DB=0 (no sqlite3)" 1>&3
-	echo 1>&3
-	BUILD_DB=0
+if [ ${HAVE_SQLITE3} -eq 0 ]; then
+	LD_SQLITE3=
+	if [ ${BUILD_DB} -gt 0 ]; then
+		echo "BUILD_DB=0 (no sqlite3)" 1>&2
+		echo "BUILD_DB=0 (no sqlite3)" 1>&3
+		echo 1>&3
+		BUILD_DB=0
+	fi
 fi
 
 # --- sqlite3_errstr ---
@@ -227,35 +233,30 @@ if [ ${BUILD_DB} -eq 0 ]; then
 	HAVE_SQLITE3_ERRSTR=1
 elif ismanual sqlite3_errstr "${HAVE_SQLITE3_ERRSTR}"; then
 	:
-elif [ -n "${DBLIB}" ]; then
-	runtest sqlite3_errstr SQLITE3_ERRSTR "${DBLIB}" || true
 else
-	runtest sqlite3_errstr SQLITE3_ERRSTR "${DETECTLIB}" || true
+	runtest sqlite3_errstr SQLITE3_ERRSTR "${LD_SQLITE3}" || true
 fi
 
 # --- ohash ---
-if [ ${BUILD_DB} -eq 0 ]; then
-	HAVE_OHASH=1
-elif ismanual ohash "${HAVE_OHASH}"; then
+if ismanual ohash "${HAVE_OHASH}"; then
 	:
-elif [ -n "${DBLIB}" ]; then
-	runtest ohash OHASH "${DBLIB}" || true
+elif [ -n "${LD_OHASH}" ]; then
+	runtest ohash OHASH "${LD_OHASH}" || true
 elif singletest ohash OHASH; then
 	:
 elif runtest ohash OHASH "-lutil"; then
-	DETECTLIB="${DETECTLIB} -lutil"
+	LD_OHASH="-lutil"
 fi
-
-# --- DBLIB ---
-if [ ${BUILD_DB} -eq 0 ]; then
-	DBLIB="-lz"
-elif [ -z "${DBLIB}" ]; then
-	DBLIB="${DETECTLIB} -lz"
-	echo "DBLIB=\"${DBLIB}\"" 1>&2
-	echo "DBLIB=\"${DBLIB}\"" 1>&3
-	echo 1>&3
+if [ "${HAVE_OHASH}" -eq 0 ]; then
+	LD_OHASH=
 fi
 
+# --- LDADD ---
+LDADD="${LDADD} ${LD_SQLITE3} ${LD_OHASH} -lz"
+echo "LDADD=\"${LDADD}\"" 1>&2
+echo "LDADD=\"${LDADD}\"" 1>&3
+echo 1>&3
+
 # --- manpath ---
 if ismanual manpath "${HAVE_MANPATH}"; then
 	:
@@ -426,7 +427,7 @@ BUILD_TARGETS	= ${BUILD_TARGETS}
 INSTALL_TARGETS	= ${INSTALL_TARGETS}
 CC		= ${CC}
 CFLAGS		= ${CFLAGS}
-DBLIB		= ${DBLIB}
+LDADD		= ${LDADD}
 STATIC		= ${STATIC}
 PREFIX		= ${PREFIX}
 BINDIR		= ${BINDIR}
--
 To unsubscribe send an email to source+unsubscribe@mdocml.bsd.lv

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2016-05-18 21:37 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-05-18 21:37 mdocml: Various people (among others Maxim Belooussov and Carsten Kunze) schwarze

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).