mirror of
https://github.com/FirebirdSQL/firebird.git
synced 2025-01-22 21:23:04 +01:00
791 lines
24 KiB
Plaintext
791 lines
24 KiB
Plaintext
dnl $Id: configure.in,v 1.114 2003-02-11 05:13:34 aafemt Exp $
|
|
|
|
dnl ############################# INITIALISATION ###############################
|
|
|
|
AC_PREREQ(2.53)
|
|
AC_INIT(src)
|
|
AC_CONFIG_AUX_DIR(src/make.new/config)
|
|
AC_CACHE_VAL(ac_cv_prog_make_set, [AC_PROG_MAKE_SET])
|
|
AC_PREFIX_DEFAULT(/usr/local/firebird)
|
|
|
|
AC_CONFIG_HEADER(src/include/gen/autoconfig.h:src/make.new/config/config.h.in)
|
|
|
|
dnl XE_APPEND(value, varname)
|
|
define([XE_APPEND],[[$2]="$[$2] [$1]"])
|
|
|
|
dnl XE_PREPEND(value, varname)
|
|
define([XE_PREPEND],[[$2]="[$1] $[$2]"])
|
|
|
|
dnl ############################# ADD TESTS BELOW ##############################
|
|
|
|
AC_CANONICAL_SYSTEM
|
|
|
|
case "$target_cpu" in
|
|
powerpc) AC_DEFINE(PowerPC) ;;
|
|
esac
|
|
|
|
CPU_TYPE=$host_cpu dnl EKU: Should this be target_cpu ???
|
|
AC_SUBST(CPU_TYPE)
|
|
|
|
dnl EKU: set appropiate defaults for each platform
|
|
dnl LOCK_MANAGER_FLG : build lock manager (CS only)
|
|
dnl EDITLINE_FLG : support fancy command line editing in isql
|
|
|
|
case "$target" in
|
|
*-*-darwin*)
|
|
MAKEFILE_PREFIX=darwin
|
|
PLATFORM=DARWIN
|
|
AC_DEFINE(DARWIN)
|
|
LOCK_MANAGER_FLG=Y
|
|
EDITLINE_FLG=N
|
|
;;
|
|
|
|
*-*-freebsd*)
|
|
MAKEFILE_PREFIX=freebsd
|
|
LATFORM=FREEBSD
|
|
AC_DEFINE(FREEBSD)
|
|
LOCK_MANAGER_FLG=Y
|
|
EDITLINE_FLG=N
|
|
;;
|
|
|
|
*-*-linux*)
|
|
MAKEFILE_PREFIX=linux
|
|
PLATFORM=LINUX
|
|
AC_DEFINE(LINUX)
|
|
LOCK_MANAGER_FLG=Y
|
|
EDITLINE_FLG=Y
|
|
;;
|
|
|
|
*-*-netbsd*)
|
|
MAKEFILE_PREFIX=netbsd
|
|
PLATFORM=NETBSD
|
|
AC_DEFINE(NETBSD)
|
|
LOCK_MANAGER_FLG=Y
|
|
EDITLINE_FLG=N
|
|
;;
|
|
|
|
*-*-hpux*)
|
|
MAKEFILE_PREFIX=hpux
|
|
PLATFORM=hpux
|
|
AC_DEFINE(hpux)
|
|
LOCK_MANAGER_FLG=Y
|
|
EDITLINE_FLG=N
|
|
;;
|
|
|
|
i386-pc-solaris*)
|
|
MAKEFILE_PREFIX=solx86
|
|
PLATFORM=solx86
|
|
AC_DEFINE(solx86)
|
|
LOCK_MANAGER_FLG=N
|
|
EDITLINE_FLG=N
|
|
;;
|
|
|
|
sparc-sun-solaris*)
|
|
MAKEFILE_PREFIX=solaris
|
|
PLATFORM=SOLARIS
|
|
AC_DEFINE(SOLARIS)
|
|
LOCK_MANAGER_FLG=N
|
|
EDITLINE_FLG=Y
|
|
;;
|
|
|
|
i*-sni-sysv4)
|
|
MAKEFILE_PREFIX=sinixz
|
|
PLATFORM="SINIX-Z"
|
|
AC_DEFINE(SINIXZ)
|
|
LOCK_MANAGER_FLG=N
|
|
EDITLINE_FLG=N
|
|
;;
|
|
|
|
*-*-mingw*)
|
|
MAKEFILE_PREFIX=mingw
|
|
PLATFORM=win32
|
|
AC_DEFINE(WIN_NT)
|
|
LOCK_MANAGER_FLG=N
|
|
EDITLINE_FLG=N
|
|
;;
|
|
|
|
*)
|
|
AC_MSG_ERROR(unsupported platform ${target})
|
|
;;
|
|
esac
|
|
|
|
AC_SUBST(MAKEFILE_PREFIX)
|
|
AC_SUBST(PLATFORM)
|
|
|
|
|
|
dnl possibly needed if we use install-sh program
|
|
dnl AC_CONFIG_AUX_DIR(`pwd`)
|
|
|
|
AC_PROG_AWK
|
|
AC_PROG_CC dnl EKU: C++ programs should not use CC, but at the moment all
|
|
dnl makefiles use $(CC) to link objects. This has to be changed!
|
|
AC_PROG_CXX
|
|
AC_PROG_LN_S
|
|
AC_PROG_RANLIB
|
|
AC_PROG_YACC
|
|
|
|
|
|
dnl Some controllable options
|
|
FIREBIRD_ARCH_TYPE=classic
|
|
AC_ARG_ENABLE(superserver,
|
|
[ --enable-superserver build SuperServer architecture (default=no)],
|
|
[case "$enableval" in
|
|
yes) FIREBIRD_ARCH_TYPE=super;;
|
|
no) FIREBIRD_ARCH_TYPE=classic;;
|
|
*) AC_MSG_ERROR(bad value '${enableval}' for --enable-superserver);;
|
|
esac])
|
|
AC_SUBST(FIREBIRD_ARCH_TYPE)
|
|
|
|
case $FIREBIRD_ARCH_TYPE in
|
|
super) AC_SUBST(ARCH_TYPE_SUFFIX,SS);;
|
|
classic) AC_SUBST(ARCH_TYPE_SUFFIX,CS);;
|
|
esac
|
|
|
|
PROD_BUILD_FLG=Y
|
|
AC_ARG_ENABLE(debug,
|
|
[ --enable-debug build debug version (default=no)],
|
|
[case "$enableval" in
|
|
yes) PROD_BUILD_FLG=N;;
|
|
no) PROD_BUILD_FLG=Y;;
|
|
*) AC_MSG_ERROR(bad value '${enableval}' for --enable-debug);;
|
|
esac])
|
|
AC_SUBST(PROD_BUILD_FLG)
|
|
|
|
RAW_DEVICES_FLG=N
|
|
AC_ARG_ENABLE(raw-devices,
|
|
[ --enable-raw-devices enable databases on raw devices (default=no)],
|
|
[case "$enableval" in
|
|
yes) RAW_DEVICES_FLG=Y;;
|
|
no) RAW_DEVICES_FLG=N;;
|
|
*) AC_MSG_ERROR(bad value '${enableval}' for --enable-raw-devices);;
|
|
esac])
|
|
if test "$RAW_DEVICES_FLG" = "Y"; then
|
|
AC_DEFINE(SUPPORT_RAW_DEVICES)
|
|
fi
|
|
|
|
MANAGER_PROCESS_TARGET=
|
|
if test "$FIREBIRD_ARCH_TYPE" = "classic"; then
|
|
dnl The lock manager process is only need on systems, that do not support
|
|
dnl sending signals to process groups (man 2 kill).
|
|
AC_ARG_WITH(lock-manager,
|
|
[ --with-lock-manager build lock manager],
|
|
[case "$withval" in
|
|
yes) LOCK_MANAGER_FLG=Y;;
|
|
no) LOCK_MANAGER_FLG=N;;
|
|
*) AC_MSG_ERROR(bad value '${withval}' for --with-lock-manager);;
|
|
esac])
|
|
|
|
if test "$LOCK_MANAGER_FLG" = "Y"; then
|
|
dnl EKU: we should determine the necessity by target system
|
|
dnl at least SOLARIS-MT, DARWIN and SINIX-Z do not require a lock
|
|
dnl manager process
|
|
dnl EKU: is this really true???
|
|
AC_DEFINE(MANAGER_PROCESS)
|
|
MANAGER_PROCESS_TARGET=lock_mgr
|
|
fi
|
|
fi
|
|
AC_SUBST(MANAGER_PROCESS_TARGET)
|
|
|
|
AC_ARG_WITH(editline,
|
|
[ --with-editline support fancy command line editing],
|
|
[case "$withval" in
|
|
yes) EDITLINE_FLG=Y;;
|
|
no) EDITLINE_FLG=N;;
|
|
*) AC_MSG_ERROR(bad value '${withval}' for --with-editline);;
|
|
esac])
|
|
AC_SUBST(EDITLINE_FLG)
|
|
|
|
FB_SERVICE_NAME=gds_db
|
|
FB_SERVICE_PORT=3050
|
|
FB_IPC_NAME=FirebirdIPI
|
|
AC_ARG_WITH(service-name,
|
|
[ --with-service-name specify inet service name (default=gds_db)],
|
|
[FB_SERVICE_NAME=${withval}])
|
|
AC_ARG_WITH(service-port,
|
|
[ --with-service-port specify inet service port (default=3050)],
|
|
[FB_SERVICE_PORT=${withval}])
|
|
AC_ARG_WITH(ipc-name,
|
|
[ --with-ipc-name specify local IPC name (default=FirebirdIPI)],
|
|
[FB_IPC_NAME=${withval}])
|
|
AC_DEFINE_UNQUOTED(FB_SERVICE_NAME,"$FB_SERVICE_NAME")
|
|
AC_DEFINE_UNQUOTED(FB_SERVICE_PORT,$FB_SERVICE_PORT)
|
|
AC_DEFINE_UNQUOTED(FB_IPC_NAME,"$FB_IPC_NAME")
|
|
AC_SUBST(FB_SERVICE_NAME)
|
|
AC_SUBST(FB_SERVICE_PORT)
|
|
AC_SUBST(FB_IPC_NAME)
|
|
|
|
dnl gpre built-in language support (C/C++ are mandatory)
|
|
GPRE_LANGUAGE_MODULES=""
|
|
AC_ARG_WITH(gpre-ada,
|
|
[ --with-gpre-ada support ADA in gpre (default=no)],
|
|
[case "$withval" in
|
|
yes) XE_APPEND(ada.cpp,GPRE_LANGUAGE_MODULES)
|
|
AC_DEFINE(GRPE_ADA);;
|
|
no) ;;
|
|
*) AC_MSG_ERROR(bad value '${withval}' for --with-gpre-ada);;
|
|
esac])
|
|
AC_ARG_WITH(gpre-cobol,
|
|
[ --with-gpre-cobol support COBOL in gpre (default=no)],
|
|
[case "$withval" in
|
|
yes) XE_APPEND(cob.cpp,GPRE_LANGUAGE_MODULES)
|
|
AC_DEFINE(GRPE_COBOL);;
|
|
no) ;;
|
|
*) AC_MSG_ERROR(bad value '${withval}' for --with-gpre-cobol);;
|
|
esac])
|
|
AC_ARG_WITH(gpre-fortran,
|
|
[ --with-gpre-fortran support FORTRAN in gpre (default=no)],
|
|
[case "$withval" in
|
|
yes) XE_APPEND(ftn.cpp,GPRE_LANGUAGE_MODULES)
|
|
AC_DEFINE(GRPE_FORTRAN);;
|
|
no) ;;
|
|
*) AC_MSG_ERROR(bad value '${withval}' for --with-gpre-fortran);;
|
|
esac])
|
|
AC_ARG_WITH(gpre-pascal,
|
|
[ --with-gpre-pascal support PASCAL in gpre (default=no)],
|
|
[case "$withval" in
|
|
yes) XE_APPEND(pas.cpp,GPRE_LANGUAGE_MODULES)
|
|
AC_DEFINE(GRPE_PASCAL);;
|
|
no) ;;
|
|
*) AC_MSG_ERROR(bad value '${withval}' for --with-gpre-pascal);;
|
|
esac])
|
|
AC_SUBST(GPRE_LANGUAGE_MODULES)
|
|
|
|
|
|
dnl Check for system header files
|
|
AC_CHECK_HEADERS(assert.h)
|
|
AC_CHECK_HEADERS(ctype.h)
|
|
AC_CHECK_HEADERS(errno.h)
|
|
AC_CHECK_HEADERS(fcntl.h)
|
|
AC_CHECK_HEADERS(grp.h)
|
|
AC_CHECK_HEADERS(pwd.h)
|
|
AC_CHECK_HEADERS(libio.h)
|
|
AC_CHECK_HEADERS(locale.h)
|
|
AC_CHECK_HEADERS(math.h)
|
|
AC_CHECK_HEADERS(pthread.h)
|
|
AC_CHECK_HEADERS(sys/types.h)
|
|
AC_CHECK_HEADERS(sys/stat.h)
|
|
AC_CHECK_HEADERS(sys/uio.h)
|
|
AC_HEADER_SYS_WAIT
|
|
AC_HEADER_TIME
|
|
AC_CHECK_HEADERS(sys/timeb.h)
|
|
AC_CHECK_HEADERS(sys/param.h)
|
|
AC_CHECK_HEADERS(sys/ioctl.h)
|
|
AC_CHECK_HEADERS(setjmp.h)
|
|
AC_CHECK_HEADERS(stdarg.h)
|
|
AC_CHECK_HEADERS(stdlib.h)
|
|
AC_CHECK_HEADERS(string.h)
|
|
AC_CHECK_HEADERS(signal.h)
|
|
if test "$EDITLINE_FLG" = "Y"; then
|
|
AC_DEFINE(HAVE_EDITLINE_H)
|
|
fi
|
|
AC_CHECK_HEADERS(pwd.h)
|
|
AC_CHECK_HEADERS(unistd.h)
|
|
AC_CHECK_HEADERS(varargs.h)
|
|
AC_CHECK_HEADERS(crypt.h)
|
|
AC_CHECK_HEADERS(netinet/in.h rpc/rpc.h netconfig.h)
|
|
AC_CHECK_HEADERS(rpc/xdr.h,,,[#include <rpc/rpc.h>])
|
|
AC_CHECK_HEADERS(aio.h)
|
|
AC_CHECK_HEADERS(mntent.h mnttab.h sys/mntent.h sys/mnttab.h)
|
|
AC_CHECK_HEADERS(sys/ipc.h sys/file.h)
|
|
AC_CHECK_HEADERS(winsock2.h)
|
|
|
|
dnl Check for libraries
|
|
AC_CHECK_LIB(dl, main)
|
|
AC_CHECK_LIB(c,main)
|
|
AC_CHECK_LIB(m, main)
|
|
if test "$FIREBIRD_ARCH_TYPE" = "super"; then
|
|
AC_CHECK_LIB(pthread, main)
|
|
fi
|
|
AC_CHECK_LIB(crypt, main)
|
|
AC_CHECK_LIB(curses, main)
|
|
dnl AC_CHECK_LIB(termcap, main)
|
|
if test "$EDITLINE_FLG" = "Y"; then
|
|
AC_SUBST(EDITLINE_A, -ledit)
|
|
fi
|
|
AC_CHECK_LIB(stdc++, main,,, $LIBS)
|
|
|
|
dnl kkuznetsov: Solaris always check for -lnsl
|
|
if test "$PLATFORM" = "solx86" -o "$PLATFORM" = "SOLARIS"; then
|
|
AC_CHECK_LIB(nsl, gethostname, XE_APPEND(-lnsl,LIBS))
|
|
AC_CHECK_LIB(thread, main)
|
|
fi
|
|
|
|
|
|
dnl Check for functions
|
|
AC_CHECK_FUNCS(strlcpy strlcat)
|
|
AC_CHECK_FUNCS(gettimeofday)
|
|
if test "$ac_cv_func_gettimeofday" = "yes"; then
|
|
dnl EKU: SINIX-Z has no prototype for gettimeofday() so the following test
|
|
dnl will always succeed, which is wrong.
|
|
case "$PLATFORM" in
|
|
SINIX-Z)
|
|
;;
|
|
*)
|
|
AC_MSG_CHECKING(if gettimeofday accepts second (timezone) argument)
|
|
AC_TRY_COMPILE([#include <sys/time.h>],
|
|
[struct timeval tp; gettimeofday(&tp, (struct timezone *)0);],
|
|
[AC_DEFINE(GETTIMEOFDAY_RETURNS_TIMEZONE) AC_MSG_RESULT(yes)],
|
|
[AC_MSG_RESULT(no)])
|
|
;;
|
|
esac
|
|
fi
|
|
AC_CHECK_FUNCS(time times)
|
|
AC_SEARCH_LIBS(gethostname,nsl)
|
|
AC_SEARCH_LIBS(connect,socket)
|
|
AC_CHECK_FUNCS(strcasecmp stricmp)
|
|
if test "$ac_cv_func_strcasecmp" = "no" -a "$ac_cv_func_stricmp" = "no"; then
|
|
dnl EKU: On SINIX-Z strcasecmp is in libresolv.
|
|
AC_CHECK_LIB(resolv, strcasecmp,
|
|
[XE_APPEND(-lresolv,LIBS)
|
|
unset ac_cv_func_strcasecmp
|
|
AC_CHECK_FUNCS(strcasecmp)],, $LIBS)
|
|
fi
|
|
AC_SEARCH_LIBS(dirname,gen)
|
|
AC_CHECK_FUNCS(sigaction setitimer)
|
|
AC_CHECK_FUNCS(snprintf)
|
|
AC_FUNC_MMAP
|
|
AC_CHECK_FUNCS(atexit on_exit)
|
|
AC_FUNC_FORK
|
|
AC_CHECK_FUNCS(setgrp setpgid getpgrp)
|
|
AC_FUNC_SETPGRP
|
|
AC_CHECK_FUNCS(flock)
|
|
AC_CHECK_FUNCS(initgroups)
|
|
AC_CHECK_FUNCS(getpagesize)
|
|
AC_CHECK_FUNCS(crypt)
|
|
AC_CHECK_FUNCS(pread pwrite)
|
|
AC_CHECK_FUNCS(getcwd getwd)
|
|
AC_CHECK_FUNCS(setmntent getmntent)
|
|
if test "$ac_cv_func_getmntent" = "yes"; then
|
|
AC_MSG_CHECKING(if getmntent needs second argument)
|
|
AC_TRY_COMPILE([#include <stdio.h>
|
|
#include <sys/mnttab.h>],
|
|
[FILE *f; struct mntent *m; getmntent(f, m);],
|
|
[AC_DEFINE(GETMNTENT_TAKES_TWO_ARGUMENTS) AC_MSG_RESULT(yes)],
|
|
[AC_MSG_RESULT(no)])
|
|
fi
|
|
|
|
|
|
dnl Check for other things
|
|
AC_C_BIGENDIAN
|
|
AC_C_CONST dnl EKU: we should replace the CONST define in the source!!!
|
|
AC_C_VOLATILE
|
|
AC_TYPE_SIGNAL
|
|
AC_SYS_LARGEFILE
|
|
AC_CHECK_SIZEOF(void*)
|
|
AC_CHECK_SIZEOF(long)
|
|
AC_CHECK_TYPES([socklen_t,semun])
|
|
AC_CHECK_TYPES([struct XDR::xdr_ops],,,[#include <rpc/rpc.h>
|
|
#include <rpc/xdr.h>])
|
|
AC_CHECK_TYPES([struct xdr_ops],,,[#include <rpc/rpc.h>
|
|
#include <rpc/xdr.h>])
|
|
|
|
|
|
dnl EKU: try to determine the alignment of long and double
|
|
dnl replaces ALIGNMENT and DOUBLE_ALIGN in src/jrd/common.h
|
|
AC_MSG_CHECKING(alignment of long)
|
|
AC_TRY_RUN([main () {
|
|
struct s {
|
|
char a;
|
|
long b;
|
|
};
|
|
exit((int)&((struct s*)0)->b);
|
|
}], ac_cv_c_alignment=$ac_status, ac_cv_c_alignment=$ac_status)
|
|
AC_MSG_RESULT($ac_cv_c_alignment)
|
|
AC_DEFINE_UNQUOTED(ALIGNMENT,$ac_cv_c_alignment)
|
|
|
|
AC_MSG_CHECKING(alignment of double)
|
|
AC_TRY_RUN([main () {
|
|
struct s {
|
|
char a;
|
|
double b;
|
|
};
|
|
exit((int)&((struct s*)0)->b);
|
|
}], ac_cv_c_double_align=$ac_status, ac_cv_c_double_align=$ac_status)
|
|
AC_MSG_RESULT($ac_cv_c_double_align)
|
|
AC_DEFINE_UNQUOTED(DOUBLE_ALIGN,$ac_cv_c_double_align)
|
|
|
|
dnl EKU: don't know how to convert this into an autoconf test:
|
|
dnl #define FB_ALIGN(n,b) ...
|
|
dnl
|
|
dnl VMS (n) -> no
|
|
dnl sun_68k ((n+1) & ~1) -> even
|
|
dnl XENIX ((n+1) & ~1) -> even
|
|
dnl netware_386 ((n+1) & ~1) -> even
|
|
dnl all others ((n + b - 1) & ~(b - 1)) -> multiple of b
|
|
dnl
|
|
dnl volunters are welcome!
|
|
|
|
|
|
dnl EKU: Add any platform specific tests below
|
|
case "$PLATFORM" in
|
|
LINUX)
|
|
dnl MOD: Check for /proc/self/exe mainly used on linux systems
|
|
dnl this is used to determine path to executable file.
|
|
AC_CHECK_FILES(/proc/self/exe)
|
|
;;
|
|
|
|
[SOLARIS|solx86])
|
|
AC_ARG_WITH(sfio,
|
|
AC_HELP_STRING([--with-sfio=PATH],
|
|
[use sfio (replacement stdio on Solaris) (default=no)]),
|
|
[ac_cv_use_sfio=$withval],[ac_cv_use_sfio=no])
|
|
|
|
if test "$ac_cv_use_sfio" = "no"; then
|
|
SFIO_DIR=""
|
|
SFIO_FLAGS=""
|
|
SFIO_LDFLAGS=""
|
|
else
|
|
AC_CHECK_LIB(sfio-mt, main,,
|
|
AC_MSG_ERROR([sfio library not found]),-lvthread)
|
|
XE_PREPEND(-lvthread,LIBS)
|
|
|
|
SFIO_DIR="$ac_cv_use_sfio"
|
|
SFIO_FLAGS="-DSFIO -I$ac_cv_use_sfio/include"
|
|
SFIO_LDFLAGS="-L$ac_cv_use_sfio/lib"
|
|
fi
|
|
;;
|
|
|
|
win32)
|
|
FB_PIPE_NAME=interbas
|
|
AC_ARG_WITH(pipe-name,
|
|
[ --with-pipe-name specify wnet pipe name (default=interbas)],
|
|
[FB_PIPE_NAME=${withval}])
|
|
AC_DEFINE_UNQUOTED(FB_PIPE_NAME,"$FB_PIPE_NAME")
|
|
AC_SUBST(FB_PIPE_NAME)
|
|
XE_PREPEND(-lversion -lmpr -lws2_32,LIBS)
|
|
;;
|
|
|
|
*)
|
|
;;
|
|
esac
|
|
|
|
|
|
dnl ##################### DO NOT ADD ANY TESTS BELOW ###########################
|
|
|
|
dnl The following file defines the version number strings
|
|
. ./src/misc/writeBuildNum.sh
|
|
FIREBIRD_PACKAGE_VERSION="0.Beta2"
|
|
|
|
|
|
FIREBIRD_LIBGDS_SO=libfbembed.so.${FIREBIRD_VERSION}
|
|
FIREBIRD_LIBGDS_SO_LNK=libfbembed.so
|
|
FIREBIRD_LIBGDS_SO_X_LNK=libfbembed.so.${MajorVer}
|
|
|
|
AC_SUBST(FIREBIRD_LIBGDS_SO)
|
|
AC_SUBST(FIREBIRD_LIBGDS_SO_LNK)
|
|
AC_SUBST(FIREBIRD_LIBGDS_SO_X_LNK)
|
|
|
|
AC_SUBST(SFIO_DIR)
|
|
AC_SUBST(SFIO_FLAGS)
|
|
AC_SUBST(SFIO_LDFLAGS)
|
|
|
|
AC_SUBST(FIREBIRD_VERSION)
|
|
AC_SUBST(FIREBIRD_PACKAGE_VERSION)
|
|
AC_SUBST(FB_BUILD_NUM, $BuildNum)
|
|
|
|
BUILD_ROOT_DIR=`pwd`
|
|
SRC_ROOT=$BUILD_ROOT_DIR/src
|
|
GEN_ROOT=$BUILD_ROOT_DIR/gen
|
|
NEW_FIREBIRD_DIR=$GEN_ROOT/firebird
|
|
|
|
AC_SUBST(BUILD_ROOT_DIR)
|
|
AC_SUBST(NEW_FIREBIRD_DIR)
|
|
|
|
AC_DEFINE_UNQUOTED(FB_PREFIX, $(if test "x$prefix" = "xNONE" ; then echo \"$ac_default_prefix\"; else echo \"$prefix\"; fi))
|
|
|
|
AC_CONFIG_COMMANDS_PRE([
|
|
mkdir -p gen/csv
|
|
mkdir -p gen/dudley
|
|
mkdir -p gen/isql
|
|
mkdir -p gen/lock
|
|
mkdir -p gen/gpre
|
|
mkdir -p gen/pipe
|
|
mkdir -p gen/remote
|
|
mkdir -p gen/wal
|
|
mkdir -p gen/alice
|
|
mkdir -p gen/refDatabases
|
|
mkdir -p gen/v5_examples
|
|
mkdir -p gen/journal
|
|
mkdir -p gen/msgs
|
|
mkdir -p gen/burp
|
|
mkdir -p gen/dsql
|
|
mkdir -p gen/extlib
|
|
mkdir -p gen/intl
|
|
mkdir -p gen/jrd
|
|
mkdir -p gen/qli
|
|
mkdir -p gen/utilities
|
|
mkdir -p gen/fbutil
|
|
mkdir -p gen/codes
|
|
mkdir -p gen/codes/jrd
|
|
|
|
mkdir -p gen/install
|
|
|
|
mkdir -p gen/common
|
|
mkdir -p gen/common/classes
|
|
mkdir -p gen/common/config
|
|
|
|
mkdir -p gen/firebird/include
|
|
mkdir -p gen/firebird/intl
|
|
mkdir -p gen/firebird/UDF
|
|
mkdir -p gen/firebird/bin
|
|
mkdir -p gen/firebird/examples/v5
|
|
mkdir -p gen/firebird/lib
|
|
mkdir -p gen/firebird/misc
|
|
mkdir -p gen/firebird/help
|
|
|
|
src/misc/writeBuildNum.sh rebuildHeader
|
|
|
|
mkdir -p gen/jrd/os
|
|
mkdir -p gen/jrd/os/darwin
|
|
mkdir -p gen/jrd/os/posix
|
|
mkdir -p gen/jrd/os/win32
|
|
|
|
mkdir -p gen/libfbcommon
|
|
mkdir -p gen/libfbcommon/classes
|
|
dnl mkdir -p gen/libdsqlserver
|
|
mkdir -p gen/libfbserver
|
|
mkdir -p gen/libfbserver/jrd
|
|
mkdir -p gen/libfbserver/dsql
|
|
mkdir -p gen/libfbserver/lock
|
|
mkdir -p gen/libfbserver/remote
|
|
mkdir -p gen/libfbserver/pipe
|
|
mkdir -p gen/libfbserver/gpre
|
|
mkdir -p gen/libfbserver/alice
|
|
mkdir -p gen/libfbserver/burp
|
|
mkdir -p gen/libfbserver/utilities
|
|
mkdir -p gen/libfbserver/fbutil
|
|
mkdir -p gen/libfbserver/wal
|
|
mkdir -p gen/libfbserver/common/classes
|
|
mkdir -p gen/libfbserver/jrd/os/posix
|
|
mkdir -p gen/libfbserver/jrd/os/win32
|
|
mkdir -p gen/fbserver/remote
|
|
mkdir -p gen/libfbclient/jrd
|
|
mkdir -p gen/libfbclient/dsql
|
|
mkdir -p gen/libfbclient/gpre
|
|
mkdir -p gen/libfbclient/wal
|
|
mkdir -p gen/libfbclient/remote
|
|
mkdir -p gen/libfbclient/utilities
|
|
mkdir -p gen/libfbclient/fbutil
|
|
mkdir -p gen/libfbclient/common/classes
|
|
mkdir -p gen/client.gbak/burp
|
|
mkdir -p gen/client.gfix/alice
|
|
mkdir -p gen/client.gpre/gpre
|
|
mkdir -p gen/client.gdef/dudley
|
|
mkdir -p gen/client.isql/isql
|
|
mkdir -p gen/client.util/utilities
|
|
mkdir -p gen/intl/intl
|
|
|
|
mkdir -p gen/libfbcommon/common/classes
|
|
mkdir -p gen/libfbcommon/common/config
|
|
mkdir -p gen/libfbcommon/fbutil
|
|
mkdir -p gen/boot.gpre/jrd/os/posix
|
|
mkdir -p gen/boot.gpre/jrd/os/win32
|
|
mkdir -p gen/boot.gpre/gpre
|
|
mkdir -p gen/static.gpre
|
|
mkdir -p gen/static.gpre/jrd
|
|
mkdir -p gen/static.gpre/dsql
|
|
mkdir -p gen/static.gpre/lock
|
|
mkdir -p gen/static.gpre/remote
|
|
mkdir -p gen/static.gpre/pipe
|
|
mkdir -p gen/static.gpre/gpre
|
|
mkdir -p gen/static.gpre/alice
|
|
mkdir -p gen/static.gpre/utilities
|
|
mkdir -p gen/static.gpre/fbutil
|
|
mkdir -p gen/static.gpre/jrd/os/posix
|
|
mkdir -p gen/static.gpre/jrd/os/win32
|
|
mkdir -p gen/static.gpre/burp
|
|
mkdir -p gen/static.gpre/wal
|
|
mkdir -p gen/static.gbak/burp
|
|
mkdir -p gen/static.isql/isql
|
|
|
|
mkdir -p gen/libfbstatic
|
|
mkdir -p gen/libfbstatic/jrd
|
|
mkdir -p gen/libfbstatic/dsql
|
|
mkdir -p gen/libfbstatic/lock
|
|
mkdir -p gen/libfbstatic/remote
|
|
mkdir -p gen/libfbstatic/pipe
|
|
mkdir -p gen/libfbstatic/gpre
|
|
mkdir -p gen/libfbstatic/alice
|
|
mkdir -p gen/libfbstatic/utilities
|
|
mkdir -p gen/libfbstatic/fbutil
|
|
mkdir -p gen/libfbstatic/jrd/os/posix
|
|
mkdir -p gen/libfbstatic/jrd/os/win32
|
|
mkdir -p gen/libfbstatic/burp
|
|
mkdir -p gen/libfbstatic/wal
|
|
mkdir -p gen/libfbstatic/common
|
|
mkdir -p gen/libfbstatic/common/config
|
|
mkdir -p gen/embed.lockmgr/lock
|
|
mkdir -p gen/embed.util/utilities
|
|
mkdir -p gen/embed.gbak/burp
|
|
mkdir -p gen/embed.gfix/alice
|
|
mkdir -p gen/embed.isql/isql
|
|
mkdir -p gen/embed.gdef/dudley
|
|
mkdir -p gen/embed.qli/qli
|
|
mkdir -p gen/embed.gpre/gpre
|
|
mkdir -p gen/inet_server/remote
|
|
mkdir -p gen/msgs/msgs
|
|
mkdir -p gen/extlib/extlib/fbudf
|
|
mkdir -p gen/v5_examples/v5_examples
|
|
|
|
mkdir -p gen/libfbembed
|
|
mkdir -p gen/libfbembed/jrd
|
|
mkdir -p gen/libfbembed/dsql
|
|
mkdir -p gen/libfbembed/lock
|
|
mkdir -p gen/libfbembed/remote
|
|
mkdir -p gen/libfbembed/pipe
|
|
mkdir -p gen/libfbembed/gpre
|
|
mkdir -p gen/libfbembed/alice
|
|
mkdir -p gen/libfbembed/utilities
|
|
mkdir -p gen/libfbembed/fbutil
|
|
mkdir -p gen/libfbembed/jrd/os/posix
|
|
mkdir -p gen/libfbembed/jrd/os/win32
|
|
mkdir -p gen/libfbembed/burp
|
|
mkdir -p gen/libfbembed/wal
|
|
mkdir -p gen/libfbembed/common/classes
|
|
mkdir -p gen/libfbembed/common/config
|
|
mkdir -p gen/RPM/RPMS/i686
|
|
mkdir -p gen/RPM/BUILD
|
|
])
|
|
|
|
|
|
MAKE_SRC_DIR=builds/posix
|
|
|
|
|
|
dnl EKU: handle platform specific installation and packaging
|
|
|
|
case "$PLATFORM" in
|
|
LINUX)
|
|
mkdir -p gen/install/scripts
|
|
mkdir -p gen/install/misc
|
|
INSTALL_SRC_DIR=src/install/arch-specific/linux/${FIREBIRD_ARCH_TYPE}
|
|
AC_CONFIG_FILES([gen/install/makeInstallImage.sh:${INSTALL_SRC_DIR}/makeInstallImage.sh.in
|
|
gen/install/scripts/preinstall.sh:${INSTALL_SRC_DIR}/preinstall.sh.in
|
|
gen/install/scripts/tarinstall.sh:${INSTALL_SRC_DIR}/tarinstall.sh.in
|
|
gen/install/scripts/tarMainInstall.sh:${INSTALL_SRC_DIR}/tarMainInstall.sh.in
|
|
gen/install/scripts/taruninstall.sh:${INSTALL_SRC_DIR}/taruninstall.sh.in
|
|
gen/install/scripts/tarMainUninstall.sh:${INSTALL_SRC_DIR}/tarMainUninstall.sh.in
|
|
gen/install/scripts/postinstall.sh:${INSTALL_SRC_DIR}/postinstall.sh.in
|
|
gen/install/scripts/preuninstall.sh:${INSTALL_SRC_DIR}/preuninstall.sh.in
|
|
gen/install/scripts/postuninstall.sh:${INSTALL_SRC_DIR}/postuninstall.sh.in
|
|
gen/install/scripts/rpmheader.txt:${INSTALL_SRC_DIR}/rpmheader.txt.in
|
|
gen/install/scripts/rpmfiles.txt:${INSTALL_SRC_DIR}/rpmfiles.txt.in
|
|
gen/firebird/misc/firebird.xinetd:src/install/arch-specific/linux/misc/firebird.xinetd.in
|
|
gen/firebird/bin/changeDBAPassword.sh:src/install/arch-specific/linux/misc/changeDBAPassword.sh.in
|
|
],[chmod a+x gen/install/scripts/*.sh gen/install/*sh 2>/dev/null])
|
|
;;
|
|
|
|
SINIX-Z)
|
|
AC_CONFIG_FILES([gen/install/pkginfo:src/install/arch-specific/sinixz/pkginfo.in
|
|
gen/install/prototype:src/install/arch-specific/sinixz/prototype.in
|
|
gen/install/preinstall:src/install/arch-specific/sinixz/preinstall.in
|
|
gen/install/postinstall:src/install/arch-specific/sinixz/postinstall.in
|
|
gen/install/postremove:src/install/arch-specific/sinixz/postremove.in
|
|
],[chmod a+x gen/install/pre* gen/install/post* 2>/dev/null])
|
|
;;
|
|
esac
|
|
|
|
|
|
AC_OUTPUT(
|
|
gen/make.rules:${MAKE_SRC_DIR}/make.rules
|
|
gen/make.defaults:${MAKE_SRC_DIR}/make.defaults
|
|
gen/make.platform:${MAKE_SRC_DIR}/prefix.${MAKEFILE_PREFIX}
|
|
gen/make.shared.variables:${MAKE_SRC_DIR}/make.shared.variables
|
|
gen/make.shared.targets:${MAKE_SRC_DIR}/make.shared.targets
|
|
src/Makefile:${MAKE_SRC_DIR}/Makefile.in.firebird
|
|
gen/Makefile.libfbcommon:${MAKE_SRC_DIR}/Makefile.in.libfbcommon
|
|
gen/Makefile.codes:${MAKE_SRC_DIR}/Makefile.in.codes
|
|
gen/Makefile.boot.gpre:${MAKE_SRC_DIR}/Makefile.in.boot.gpre
|
|
gen/Makefile.libfbstatic:${MAKE_SRC_DIR}/Makefile.in.libfbstatic
|
|
gen/Makefile.static.gpre:${MAKE_SRC_DIR}/Makefile.in.static.gpre
|
|
gen/Makefile.static.gbak:${MAKE_SRC_DIR}/Makefile.in.static.gbak
|
|
gen/Makefile.static.isql:${MAKE_SRC_DIR}/Makefile.in.static.isql
|
|
gen/Makefile.refDatabases:${MAKE_SRC_DIR}/Makefile.in.refDatabases
|
|
gen/Makefile.libfbserver:${MAKE_SRC_DIR}/Makefile.in.libfbserver
|
|
gen/Makefile.fbserver:${MAKE_SRC_DIR}/Makefile.in.fbserver
|
|
gen/Makefile.libfbclient:${MAKE_SRC_DIR}/Makefile.in.libfbclient
|
|
gen/Makefile.client.gbak:${MAKE_SRC_DIR}/Makefile.in.client.gbak
|
|
gen/Makefile.client.gfix:${MAKE_SRC_DIR}/Makefile.in.client.gfix
|
|
gen/Makefile.client.gdef:${MAKE_SRC_DIR}/Makefile.in.client.gdef
|
|
gen/Makefile.client.isql:${MAKE_SRC_DIR}/Makefile.in.client.isql
|
|
gen/Makefile.client.gpre:${MAKE_SRC_DIR}/Makefile.in.client.gpre
|
|
gen/Makefile.client.util:${MAKE_SRC_DIR}/Makefile.in.client.util
|
|
gen/Makefile.intl:${MAKE_SRC_DIR}/Makefile.in.intl
|
|
gen/Makefile.msgs:${MAKE_SRC_DIR}/Makefile.in.msgs
|
|
gen/Makefile.extlib:${MAKE_SRC_DIR}/Makefile.in.extlib
|
|
gen/Makefile.v5_examples:${MAKE_SRC_DIR}/Makefile.in.v5_examples
|
|
gen/Makefile.libfbembed:${MAKE_SRC_DIR}/Makefile.in.libfbembed
|
|
gen/Makefile.inet_server:${MAKE_SRC_DIR}/Makefile.in.inet_server
|
|
gen/Makefile.embed.lockmgr:${MAKE_SRC_DIR}/Makefile.in.embed.lockmgr
|
|
gen/Makefile.embed.util:${MAKE_SRC_DIR}/Makefile.in.embed.util
|
|
gen/Makefile.embed.gfix:${MAKE_SRC_DIR}/Makefile.in.embed.gfix
|
|
gen/Makefile.embed.gbak:${MAKE_SRC_DIR}/Makefile.in.embed.gbak
|
|
gen/Makefile.embed.isql:${MAKE_SRC_DIR}/Makefile.in.embed.isql
|
|
gen/Makefile.embed.gdef:${MAKE_SRC_DIR}/Makefile.in.embed.gdef
|
|
gen/Makefile.embed.qli:${MAKE_SRC_DIR}/Makefile.in.embed.qli
|
|
gen/Makefile.embed.gpre:${MAKE_SRC_DIR}/Makefile.in.embed.gpre
|
|
src/v5_examples/Makefile:${MAKE_SRC_DIR}/Makefile.in.example5
|
|
gen/Makefile.install:src/install/arch-specific/${MAKEFILE_PREFIX}/Makefile.in
|
|
Makefile:Makefile.in
|
|
)
|
|
|
|
|
|
dnl AC_DEFINE_UNQUOTED(FB_BUILD_TYPE, "$BuildType")
|
|
dnl AC_DEFINE_UNQUOTED(FB_MAJOR_VER, "$MajorVer")
|
|
dnl AC_DEFINE_UNQUOTED(FB_MINOR_VER, "$MinorVer")
|
|
dnl AC_DEFINE_UNQUOTED(FB_REV_NO, "$RevNo")
|
|
dnl AC_DEFINE_UNQUOTED(FB_BUILD_SUFFIX, "$BuildSuffix")
|
|
dnl AC_DEFINE_UNQUOTED(PRODUCT_VER_STRING, "$PRODUCT_VER_STRING")
|
|
dnl AC_DEFINE_UNQUOTED(FILE_VER_NUMBER, $FILE_VER_NUMBER)
|
|
dnl AC_DEFINE_UNQUOTED(FILE_VER_STRING, "$FILE_VER_STRING")
|
|
dnl AC_DEFINE_UNQUOTED(LICENSE_VER_STRING, "$FILE_VER_STRING")
|
|
|
|
|
|
|
|
dnl Print out the build configuration (the most interesting thing)
|
|
echo
|
|
echo
|
|
echo The Firebird2 package has been configured with the following options:
|
|
echo
|
|
|
|
case $FIREBIRD_ARCH_TYPE in
|
|
super) echo "Architecture : SuperServer";;
|
|
classic) echo "Architecture : ClassicServer";;
|
|
esac
|
|
|
|
case $PROD_BUILD_FLG in
|
|
Y) echo " Debug : disabled";;
|
|
N) echo " Debug : enabled";;
|
|
esac
|
|
|
|
case $ac_cv_sys_file_offset_bits in
|
|
no) echo " 64 bit I/O : disabled";;
|
|
64) echo " 64 bit I/O : enabled";;
|
|
esac
|
|
|
|
case $RAW_DEVICES_FLG in
|
|
Y) echo " Raw devices : enabled";;
|
|
N) echo " Raw devices : disabled";;
|
|
esac
|
|
|
|
if test "$FIREBIRD_ARCH_TYPE" = "classic"; then
|
|
case $LOCK_MANAGER_FLG in
|
|
Y) echo "Lock manager : enabled";;
|
|
N) echo "Lock manager : disabled";;
|
|
esac
|
|
fi
|
|
|
|
echo "Service name : $FB_SERVICE_NAME"
|
|
echo "Service port : $FB_SERVICE_PORT"
|
|
|
|
case "$PLATFORM" in
|
|
win32) echo " Pipe name : $FB_PIPE_NAME";;
|
|
esac
|
|
|
|
echo "GPRE modules : c_cxx.cpp$GPRE_LANGUAGE_MODULES"
|
|
echo
|
|
|
|
echo " Install Dir : $prefix"
|
|
echo
|
|
|
|
dnl EOF
|