186bbecbeSmrgdnl Copyright (c) 2005, Oracle and/or its affiliates. All rights reserved.
253354cdbSmrgdnl
353354cdbSmrgdnl Permission is hereby granted, free of charge, to any person obtaining a
486bbecbeSmrgdnl copy of this software and associated documentation files (the "Software"),
586bbecbeSmrgdnl to deal in the Software without restriction, including without limitation
686bbecbeSmrgdnl the rights to use, copy, modify, merge, publish, distribute, sublicense,
786bbecbeSmrgdnl and/or sell copies of the Software, and to permit persons to whom the
886bbecbeSmrgdnl Software is furnished to do so, subject to the following conditions:
953354cdbSmrgdnl
1086bbecbeSmrgdnl The above copyright notice and this permission notice (including the next
1186bbecbeSmrgdnl paragraph) shall be included in all copies or substantial portions of the
1286bbecbeSmrgdnl Software.
1353354cdbSmrgdnl
1486bbecbeSmrgdnl THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
1586bbecbeSmrgdnl IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
1686bbecbeSmrgdnl FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
1786bbecbeSmrgdnl THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
1886bbecbeSmrgdnl LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
1986bbecbeSmrgdnl FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
2086bbecbeSmrgdnl DEALINGS IN THE SOFTWARE.
2153354cdbSmrgdnl
2253354cdbSmrgdnl Process this file with autoconf to create configure.
2353354cdbSmrg
2461c899d4Smrg# Initialize Autoconf
2586bbecbeSmrgAC_PREREQ([2.60])
26afb14e9bSmrgAC_INIT([rgb], [1.1.0],
27afb14e9bSmrg	[https://gitlab.freedesktop.org/xorg/app/rgb/-/issues], [rgb])
2861c899d4SmrgAC_CONFIG_SRCDIR([Makefile.am])
2961c899d4SmrgAC_CONFIG_HEADERS([config.h])
30ecb85c42SmrgAC_USE_SYSTEM_EXTENSIONS
3161c899d4Smrg
3261c899d4Smrg# Initialize Automake
33afb14e9bSmrgAM_INIT_AUTOMAKE([foreign dist-xz])
3453354cdbSmrg
3586bbecbeSmrg# Require X.Org macros 1.8 or later for MAN_SUBSTS set by XORG_MANPAGE_SECTIONS
3686bbecbeSmrgm4_ifndef([XORG_MACROS_VERSION],
3786bbecbeSmrg	  [m4_fatal([must install xorg-macros 1.8 or later before running autoconf/autogen])])
3886bbecbeSmrgXORG_MACROS_VERSION(1.8)
3986bbecbeSmrgXORG_DEFAULT_OPTIONS
4053354cdbSmrg
41ecb85c42SmrgAC_CHECK_FUNCS([asprintf])
42ecb85c42Smrg
4353354cdbSmrgPKG_CHECK_MODULES(RGB, xproto)
4453354cdbSmrg
4553354cdbSmrgAC_MSG_CHECKING([for rgb database location])
4653354cdbSmrgAC_ARG_WITH([rgb-db-dir],
4761c899d4Smrg	AS_HELP_STRING([--with-rgb-db-dir=<path>],
4853354cdbSmrg		[rgb database location (default is ${datadir}/X11/rgb)]),
4953354cdbSmrg	[db_path=$withval], [db_path=${datadir}/X11/rgb])
5053354cdbSmrgAC_MSG_RESULT([$db_path])
5153354cdbSmrgdnl XXX not working - AC_DEFINE([RGB_DB], $db_path, [set to location of rgb database (without any file type suffix)])
5253354cdbSmrgdb_file=`basename $db_path`
5353354cdbSmrgdb_dir=`dirname $db_path`
5453354cdbSmrgAC_SUBST([db_file])
5553354cdbSmrgAC_SUBST([db_dir])
5653354cdbSmrg
5753354cdbSmrgAC_MSG_CHECKING([for rgb database format])
5853354cdbSmrgAC_ARG_WITH([rgb-db-type],
5961c899d4Smrg	AS_HELP_STRING([--with-rgb-db-type=(text|dbm|ndbm)],
6053354cdbSmrg		[rgb database type (default is text)]),
6153354cdbSmrg	[db_type=$withval], [db_type="text"])
6253354cdbSmrgAC_MSG_RESULT([$db_type])
6353354cdbSmrg
6453354cdbSmrgRGB_DB_TYPE=$db_type
6553354cdbSmrg
66afb14e9bSmrgAC_ARG_WITH([rgb-db-library],
67afb14e9bSmrg	AS_HELP_STRING([--with-rgb-db-library=<library-name>],
68afb14e9bSmrg		[rgb database library (default is to search for one)]),
69afb14e9bSmrg	[db_lib=$withval], [db_lib="auto"])
70afb14e9bSmrg
7153354cdbSmrgcase $db_type in
7253354cdbSmrg	text)
7353354cdbSmrg		RGB_DB_FILES=""
7453354cdbSmrg		AC_DEFINE([USE_RGB_TXT], [1],
7553354cdbSmrg			[Define to 1 to use plain text files for rgb database])
7653354cdbSmrg		;;
7753354cdbSmrg	dbm)
78afb14e9bSmrg		AS_IF([test "x$db_lib" = "xauto"],
79afb14e9bSmrg		  [AC_SEARCH_LIBS([dbminit], [db dbm nsl], [],
80afb14e9bSmrg		     AC_MSG_ERROR([dbm requested but dbminit() not found in any libraries]))],
81afb14e9bSmrg		  [AC_CHECK_LIB([$db_lib], [dbminit], [],
82afb14e9bSmrg		     AC_MSG_ERROR([dbm requested but dbminit() not found when linking with -l$db_lib]))])
8353354cdbSmrg		AC_CHECK_HEADER([dbm.h], [DBM_HEADER='<dbm.h>'],
8453354cdbSmrg		  [AC_CHECK_HEADER([rpcsvc/dbm.h], [DBM_HEADER='<rpcsvc/dbm.h>'],
8553354cdbSmrg		    [AC_MSG_ERROR([dbm requested but dbm.h not found])])])
8653354cdbSmrg		PKG_CHECK_MODULES(XORG, [xorg-server])
8753354cdbSmrg		RGB_CFLAGS="$RGB_CFLAGS $XORG_CFLAGS"
8853354cdbSmrg		RGB_DB_FILES='$(db_file).dir $(db_file).pag'
8953354cdbSmrg		;;
9053354cdbSmrg	ndbm)
9153354cdbSmrg		# Find a dbm or ndbm implementation
92afb14e9bSmrg		AS_IF([test "x$db_lib" = "xauto"],
93afb14e9bSmrg		  [AC_SEARCH_LIBS([dbm_open], [db ndbm dbm], [],
94afb14e9bSmrg		     AC_MSG_ERROR([ndbm requested but dbm_open() not found in any libraries]))],
95afb14e9bSmrg		  [AC_CHECK_LIB([$db_lib], [dbm_open], [],
96afb14e9bSmrg		     AC_MSG_ERROR([ndbm requested but dbm_open() not found when linking with -l$db_lib]))])
97afb14e9bSmrg		AC_DEFINE([NDBM], [1],
98afb14e9bSmrg			  [Define to 1 if you have ndbm.h interfaces])
9953354cdbSmrg		DBM_HEADER='<ndbm.h>'
10053354cdbSmrg		PKG_CHECK_MODULES(XORG, [xorg-server])
10153354cdbSmrg		RGB_CFLAGS="$RGB_CFLAGS $XORG_CFLAGS"
10253354cdbSmrg		RGB_DB_FILES='$(db_file).dir $(db_file).pag'
10353354cdbSmrg		;;
10453354cdbSmrgesac
10553354cdbSmrgif test x$DBM_HEADER != x ; then
10686bbecbeSmrg  AC_DEFINE_UNQUOTED([DBM_HEADER], [$DBM_HEADER],
10753354cdbSmrg		     [Header file to include for dbm functions])
10853354cdbSmrgfi
10953354cdbSmrgAC_SUBST([RGB_DB_TYPE])
11053354cdbSmrgAC_SUBST([RGB_DB_FILES])
11153354cdbSmrgAM_CONDITIONAL(RGB_DB, [test x$db_type != xtext])
11253354cdbSmrg
11386bbecbeSmrgAC_CONFIG_FILES([Makefile
11486bbecbeSmrg                 man/Makefile])
11553354cdbSmrg
11686bbecbeSmrgAC_OUTPUT
117