1#! /bin/bash -norc 2dnl This file is an input file used by the GNU "autoconf" program to 3dnl generate the file "configure", which is run during TkGate installation 4dnl to configure the system for the local environment. 5 6AC_INIT([tkgate],[2.1],[starling13@gmail.com],[tkgate],[https://bitbucket.org/starling13/tkgate/]) 7AC_CONFIG_MACRO_DIR([m4]) 8AM_INIT_AUTOMAKE([-Wall -Werror foreign std-options]) 9m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])]) 10m4_ifdef([AM_PROG_AR], [AM_PROG_AR]) 11AC_PREREQ(2.69) 12AC_CONFIG_HEADER(config.h) 13AC_LANG(C) 14 15############################################################################# 16# 17# TkGate version and identifying information. 18# 19AC_DEFINE(TKGATE_VERSION, "2.1", [Base TkGate version number]) 20AC_SUBST(TKGATE_VERSION, 2.1) 21AC_DEFINE(TKGATE_VERSION_SUFFIX,"", [TkGate version suffix]) 22AC_DEFINE(TKGATE_FULL_VERSION, (TKGATE_VERSION TKGATE_VERSION_SUFFIX), [Full TkGate version number]) 23AC_DEFINE(TKGATE_DESCRIPTION, "Digital Circuit Editor and Simulator", [Tkgate short description]) 24#AC_DEFINE(TKGATE_LOCALDOC, "file:@H/doc/@L/index.html", [Local documentation location]) 25AC_DEFINE(TKGATE_LOCALDOC, "file:@H/doc/en/index.html", [Local documentation location]) 26AC_DEFINE(TKGATE_COPYRIGHT, "Copyright (C) 1987-2015 by Jeffery P. Hansen \nCopyright (C) 2015-2018 by Andrey V. Skvortsov", [Copyright notice]) 27AC_DEFINE(TKGATE_MAILCONTACT, "starling13@gmail.com", [Email address for support]) 28AC_DEFINE(TKGATE_HOMEPAGE, "https://bitbucket.org/starling13/tkgate", [TkGate web page]) 29 30############################################################################# 31# 32# Configuration options. 33# 34# 35# Tcl/Tk version we will try to use (from most favored to least favored) 36# 37TKGATE_TCLTK_VERSIONS="8.6" 38 39# 40# Directories to search for include files 41# 42TKGATE_INCDIRS="/usr/local/include /usr/local/include/tcl8.6" 43 44# 45# Directories to search for library files 46# 47TKGATE_LIBDIRS="/usr/local/lib" 48 49# 50# Libraries we may need if available. 51# 52TKGATE_OPTLIBNAMES="m" 53 54############################################################################# 55# 56# Default prefix directory for installation by OS 57# 58AC_PREFIX_DEFAULT(/usr/local) 59 60 61############################################################################# 62# 63# Header and libraries 64# 65TKGATE_INCLUDE_SPEC="" 66TKGATE_LIB_SPEC="" 67TKGATE_LIBS="" 68 69############################################################################# 70# 71# Supported locales 72# 73TKGATE_LOCALES="ar az bg ca cs cy da de en es fr gl hr id is it ja lt ms nl oc pl pt pt_BR ru sk sr sv tr uk" 74AC_SUBST(TKGATE_LOCALES) 75 76############################################################################# 77# 78# Top and bottom of config.h 79# 80AH_TOP([#ifndef __config_h 81#define __config_h 82#include "options.h"]) 83AH_BOTTOM([ 84/* 85 * Default font encode for display. 86 */ 87#define TKGATE_DEFAULT_FONT_CODE "iso8859-1" 88 89#if TKGATE_NOYYRESTART 90#define yyrestart(f) { extern FILE *yyin; yyin = f; } 91#endif 92 93#if TKGATE_SIGSET 94#define signal(a,b) sigset(a,b) 95#endif 96 97#if !HAVE_PW_GECOS 98#define pe_gecos pw_name 99#endif 100 101#endif /* __config_h */ 102]) 103 104############################################################################# 105# 106# TkGate Installation Directories 107# 108currentDirectory=`pwd` 109AC_DEFINE_UNQUOTED(TKGATE_SECONDARYHOME, "$currentDirectory", [Backup location for TkGate home directory]) 110 111#------------------------------------------------------------------------ 112# Standard compiler checks 113#------------------------------------------------------------------------ 114 115# 116# If the user did not set CFLAGS, set it now to keep 117# the AC_PROG_CC macro from adding "-g -O2". 118# 119# Set TKGATE_CFLAGS in options.h to set compiler options. 120# 121if test "${CFLAGS+set}" != "set" ; then 122 CFLAGS=`grep "^#define.*TKGATE_CFLAGS" options.h | sed 's/#define.*TKGATE_CFLAGS//'` 123fi 124 125# Checks for programs. 126AC_PROG_CC 127AC_PROG_YACC 128AC_PATH_PROG(YACC_INST, $YACC) 129if test -z "$YACC_INST"; then 130 AC_MSG_ERROR([yacc or bison not found]) 131fi 132AM_PROG_LEX 133AC_PATH_PROG(LEX_INST, $LEX) 134if test -z "$LEX_INST"; then 135 AC_MSG_ERROR([lex or flex not found]) 136fi 137AC_PROG_LN_S 138AC_PROG_MAKE_SET 139AC_PROG_CPP 140AC_PROG_INSTALL 141AC_PROG_LIBTOOL 142LT_INIT 143 144# Checks for compiler flags. 145TKG_CHECK_CFLAGS([-Wno-deprecated-declarations]) 146 147# Checks for header files. 148AC_PATH_XTRA 149AC_FUNC_ALLOCA 150AC_HEADER_STDC 151AC_HEADER_SYS_WAIT 152AC_CHECK_HEADERS([limits.h malloc.h stdlib.h string.h sys/param.h sys/time.h unistd.h stdint.h]) 153PKG_CHECK_MODULES(PANGO_XFT, pangoxft) 154TKG_CHECK_ICONV_H 155 156AC_SEARCH_LIBS([log], [m]) 157 158# Checks for typedefs, structures, and compiler characteristics. 159AC_C_CONST 160AC_TYPE_SIZE_T 161AC_TYPE_INTPTR_T 162AC_HEADER_TIME 163AC_STRUCT_TM 164AC_CHECK_TYPES(unsigned long long) 165 166# Checks for library functions. 167AC_FUNC_FORK 168AC_FUNC_MALLOC 169AC_TYPE_SIGNAL 170AC_FUNC_STAT 171AC_FUNC_VPRINTF 172AC_CHECK_FUNCS([getcwd gettimeofday memmove memset putenv select strcasecmp strchr strcspn strdup strncasecmp strrchr strspn strstr strcasestr]) 173AC_CHECK_LIB(m, floor) 174 175############################################################################# 176# 177# Find out about Tcl/Tk and request substitutions 178# 179TKG_FINDTCLTK 180 181############################################################################# 182# 183# Check for gecos field 184# 185TKG_CHECK_GECOS 186 187############################################################################# 188# 189# Check for signal handler function 190# 191TKG_USE_SIGSET 192 193############################################################################# 194# 195# Check for word size and Endianess 196# 197AC_C_BIGENDIAN 198TKG_WORDSIZE 199 200############################################################################# 201# 202# Merge all path information 203# 204TKG_MERGE(TKGATE_IPATH, [$TCL_IPATH $TK_IPATH $X_CFLAGS $ICONV_IPATH]) 205TKG_MERGE(TKGATE_LPATH, [$TCL_LPATH $TCL_LPATH $ICONV_LPATH]) 206TKG_MERGE(TKGATE_LIB, [$TCL_LIB $TK_LIB $X_PRE_LIBS -lX11 $X_EXTRA_LIBS $ICONV_LIB]) 207 208############################################################################# 209# 210# TKGate variable substitutions 211# 212AC_SUBST(TKGATE_IPATH) 213AC_SUBST(TKGATE_LPATH) 214AC_SUBST(TKGATE_LIB) 215 216############################################################################# 217# 218# Header file paths we may need 219# 220AC_SUBST(COMMON_IPATH, ['-I$(top_srcdir)/src/common']) 221AC_SUBST(TOP_IPATH, ['-I$(top_srcdir)']) 222AC_SUBST(COMMON_LPATH, ['-L$(top_builddir)/src/common']) 223 224############################################################################# 225# 226# Make sure the libexec directory exists 227# 228TKG_MAKELIBEXEC 229 230############################################################################# 231# 232# Substitution variables 233# 234AC_CONFIG_FILES([Makefile 235 src/Makefile 236 src/common/Makefile 237 src/tkgate/Makefile 238 src/verga/Makefile 239 src/gmac/Makefile 240 src/tools/Makefile]) 241 242AC_OUTPUT 243