Changes to support standalone installation.

This commit is contained in:
Thomas G. Lockhart 1998-10-09 07:04:53 +00:00
parent 25f90202f7
commit 4c9239173a
4 changed files with 150 additions and 94 deletions

View File

@ -1,13 +1,13 @@
#------------------------------------------------------------------------- #-------------------------------------------------------------------------
# #
# Makefile.inc-- # GNUMakefile.in--
# Build and install postgres. # Build and install psqlodbc (Postgres ODBC driver).
# #
# Copyright (c) 1994, Regents of the University of California # Copyright (c) 1994, Regents of the University of California
# #
# #
# IDENTIFICATION # IDENTIFICATION
# $Header: /cvsroot/pgsql/src/interfaces/odbc/Attic/GNUmakefile.in,v 1.2 1998/10/07 06:49:19 thomas Exp $ # $Header: /cvsroot/pgsql/src/interfaces/odbc/Attic/GNUmakefile.in,v 1.3 1998/10/09 07:04:49 thomas Exp $
# #
#------------------------------------------------------------------------- #-------------------------------------------------------------------------
@SET_MAKE@ @SET_MAKE@
@ -40,11 +40,11 @@ ifeq ($(PORTNAME), bsd)
endif endif
endif endif
SOURCES = *.c *.h *.in Config.mk Makefile Makefile.unx README.Linux \ SOURCES = *.c *.h *.in Config.mk \
TODO.txt Version.mk config.guess config.sub configure \ TODO.txt Version.mk config.guess config.sub configure \
install-sh license.txt notice.txt odbcinst.ini patch \ install-sh license.txt notice.txt odbcinst.ini \
psqlodbc.aps psqlodbc.def psqlodbc.mak psqlodbc.mdp \ psqlodbc.def \
psqlodbc.ncb psqlodbc.rc readme.txt psqlodbc.rc readme.txt
OBJECTS = info.o bind.o columninfo.o connection.o convert.o drvconn.o \ OBJECTS = info.o bind.o columninfo.o connection.o convert.o drvconn.o \
environ.o execute.o lobj.o misc.o options.o \ environ.o execute.o lobj.o misc.o options.o \
@ -92,7 +92,7 @@ install-shlib: $(shlib)
cd $(DESTDIR)$(LIBDIR) && $(LN_S) -f lib$(NAME)$(DLSUFFIX).$(SO_MAJOR_VERSION) lib$(NAME)$(DLSUFFIX) cd $(DESTDIR)$(LIBDIR) && $(LN_S) -f lib$(NAME)$(DLSUFFIX).$(SO_MAJOR_VERSION) lib$(NAME)$(DLSUFFIX)
install-ini: odbcinst.ini install-ini: odbcinst.ini
$(INSTALL) $(INSTL_LIB_OPTS) odbcinst.ini $(ODBCINST)/odbcinst.ini $(INSTALL) $(INSTL_LIB_OPTS) odbcinst.ini $(ODBCINST)
depend dep: depend dep:
$(CC) -MM *.c >depend $(CC) -MM *.c >depend
@ -101,24 +101,32 @@ depend dep:
clean: clean:
-rm -f lib$(NAME).a $(shlib) $(OBJECTS) lib$(NAME)$(DLSUFFIX) -rm -f lib$(NAME).a $(shlib) $(OBJECTS) lib$(NAME)$(DLSUFFIX)
-rm -f config.log config.cache config.status
.PHONY: distclean .PHONY: distclean
distclean: clean distclean: clean
-rm -f config.h GNUmakefile Makefile.global -rm -f config.h GNUmakefile Makefile.global
-rm -f config.cache config.log config.status
@if [ $SRCDIR ne $ODBCSRCDIR ]; then rm -f template makefiles port
.PHONY: standalone .PHONY: standalone
standalone: standalone:
@if test "$SRCDIR" = "$ODBCSRCDIR"; then \
echo "****************************************************"; \
echo "Note: This was a standalone installation already"; \
echo "This may produce a slightly inconsistant tar file..."; \
echo "You should use the original tar file instead"; \
echo "****************************************************"; \
fi
-rm -f psqlodbc-$(SO_MAJOR_VERSION)$(SO_MINOR_VERSION).tar.gz -rm -f psqlodbc-$(SO_MAJOR_VERSION)$(SO_MINOR_VERSION).tar.gz
tar -cf psqlodbc-$(SO_MAJOR_VERSION)$(SO_MINOR_VERSION).tar $(SOURCES) $(TAR) -chf psqlodbc-$(SO_MAJOR_VERSION)$(SO_MINOR_VERSION).tar \
tar -r -C ../.. -f psqlodbc-$(SO_MAJOR_VERSION)$(SO_MINOR_VERSION).tar template $(SOURCES) -C @top_srcdir@ makefiles template
gzip psqlodbc-$(SO_MAJOR_VERSION)$(SO_MINOR_VERSION).tar gzip psqlodbc-$(SO_MAJOR_VERSION)$(SO_MINOR_VERSION).tar
.PHONY: integrated .PHONY: integrated
integrated: integrated:
-rm -f psqlodbc-$(SO_MAJOR_VERSION)$(SO_MINOR_VERSION)-int.tar.gz -rm -f psqlodbc-$(SO_MAJOR_VERSION)$(SO_MINOR_VERSION)-int.tar.gz
tar -cf psqlodbc-$(SO_MAJOR_VERSION)$(SO_MINOR_VERSION)-int.tar $(SOURCES) $(TAR) -cf psqlodbc-$(SO_MAJOR_VERSION)$(SO_MINOR_VERSION)-int.tar $(SOURCES)
gzip psqlodbc-$(SO_MAJOR_VERSION)$(SO_MINOR_VERSION)-int.tar gzip psqlodbc-$(SO_MAJOR_VERSION)$(SO_MINOR_VERSION)-int.tar

View File

@ -1,13 +1,13 @@
#---------------------------------------------------------------------------- #----------------------------------------------------------------------------
# #
# Makefile.global-- # Makefile.global--
# global configuration for the Makefiles # global configuration for pgsqlodbc (Postgres ODBC driver)
# #
# Copyright (c) 1994, Regents of the University of California # Copyright (c) 1994, Regents of the University of California
# #
# #
# IDENTIFICATION # IDENTIFICATION
# $Header: /cvsroot/pgsql/src/interfaces/odbc/Attic/Makefile.global.in,v 1.1 1998/10/06 05:57:56 thomas Exp $ # $Header: /cvsroot/pgsql/src/interfaces/odbc/Attic/Makefile.global.in,v 1.2 1998/10/09 07:04:50 thomas Exp $
# #
# NOTES # NOTES
# This is derived from the main Postgres makefile. # This is derived from the main Postgres makefile.
@ -71,18 +71,18 @@ BINDIR= $(POSTGRESDIR)/bin
LIBDIR= $(POSTGRESDIR)/lib LIBDIR= $(POSTGRESDIR)/lib
# Where the man pages (suitable for use with "man") get installed. ## Where the man pages (suitable for use with "man") get installed.
POSTMANDIR= $(POSTGRESDIR)/man #POSTMANDIR= $(POSTGRESDIR)/man
#
# Where the formatted documents (e.g., the reference manual) get installed. # Where the formatted documents (e.g., the reference manual) get installed.
POSTDOCDIR= $(POSTGRESDIR)/doc #POSTDOCDIR= $(POSTGRESDIR)/doc
# Where the header files necessary to build frontend programs get installed. # Where the header files necessary to build frontend programs get installed.
HEADERDIR= $(POSTGRESDIR)/include HEADERDIR= $(POSTGRESDIR)/include
# Where the odbcinst.ini file will be placed # Where the odbcinst.ini file will be placed
ODBCINST= $(POSTGRESDIR)@ODBCINSTDIR@ ODBCINST= @ODBCINST@
############################################################################## ##############################################################################
# #
@ -119,7 +119,6 @@ DASH_N= @DASH_N@
BACKSLASH_C= @BACKSLASH_C@ BACKSLASH_C= @BACKSLASH_C@
#------------------------------------------------------------- #-------------------------------------------------------------
# See the subdirectory template for default settings for these # See the subdirectory template for default settings for these
#------------------------------------------------------------- #-------------------------------------------------------------
@ -131,30 +130,30 @@ LDFLAGS= @LDFLAGS@ @LIBS@
DLSUFFIX= @DLSUFFIX@ DLSUFFIX= @DLSUFFIX@
LN_S = @LN_S@ LN_S = @LN_S@
ifneq ($(wildcard $(SRCDIR)/Makefile.port), )
include $(SRCDIR)/Makefile.port
endif
############################################################################## ##############################################################################
# #
# Customization. # Customization.
# #
# This includes local customizations. If we're being build from # This includes local customizations. If we're being built from
# within the Postgres distribution and a Makefile.custom exists # within the Postgres distribution and a Makefile.custom exists
# in the top level Postgres directory it overrides any local customization # in the top level Postgres directory it will take precedence
# that might be in Makefile.custom of the odbc driver directory. These # over any local Makefile.custom in the odbc driver directory.
# files don't exist in the original
# distribution so that they don't get overwritten when you upgrade.
ifneq ($(wildcard $(SRCDIR)/Makefile.custom), ) ifneq ($(wildcard $(SRCDIR)/Makefile.custom), )
include $(SRCDIR)/Makefile.custom include $(SRCDIR)/Makefile.custom
endif endif
ifneq ($(wildcard ../../Makefile.custom), )
include ../../Makefile.custom
endif
# This goes here so that customization in Makefile.custom is effective # This goes here so that customization in Makefile.custom is effective
############################################################################## ##############################################################################
ifneq ($(CUSTOM_INSTALL),) ifneq ($(CUSTOM_INSTALL),)
INSTALL= $(CUSTOM_INSTALL) INSTALL= $(CUSTOM_INSTALL)
endif endif
# #
@ -193,9 +192,9 @@ ifneq ($(CUSTOM_COPT),)
endif endif
ifeq ($(CC), gcc) ifeq ($(CC), gcc)
CFLAGS+= -Wall -Wmissing-prototypes CFLAGS+= -Wall -Wmissing-prototypes
endif endif
ifdef COPT ifdef COPT
CFLAGS+= $(COPT) CFLAGS+= $(COPT)
endif endif

View File

@ -14,10 +14,10 @@ ac_default_prefix=/usr/local
ac_default_prefix=/usr/local ac_default_prefix=/usr/local
ac_help="$ac_help ac_help="$ac_help
--with-template=TEMPLATE --with-template=TEMPLATE
use operating system template file use operating system template file; see template directory"
see template directory"
ac_help="$ac_help ac_help="$ac_help
--with-odbcinst=<datadir> change default directory for odbcinst.ini" --with-odbcinst=<pathname>
change default directory for odbcinst.ini "
# Initialize some variables set by options. # Initialize some variables set by options.
# The variables have the same names as the options, with # The variables have the same names as the options, with
@ -527,25 +527,31 @@ fi
echo "*** configuring psqlodbc ***"
if test -d ../../interfaces if test -d ../../interfaces
then then
TEMPLATEDIR=../../template echo "psqlodbc can be configured either standalone or integrated"
if test "$prefix" = "NONE" echo "into the Postgres main distribution."
then echo "It appears that you are running the standalone configure"
ac_default_prefix=/usr/local/pgsql echo "from within the main distribution. The recommended (and required)"
fi echo "procedure is to configure ODBC using the integrated configuration"
ODBCINSTDIR= echo "procedure using the --with-odbc option."
else exit
TEMPLATEDIR=./template
if test "$prefix" = "NONE"
then
ODBCINSTDIR=/share
else
ODBCINSTDIR=
fi
fi fi
echo "*** configuring psqlodbc ***" TEMPLATEDIR=./template
if test "$prefix" = "NONE"
then
if test -d "/share"
then
ODBCINST=/share/odbcinst.ini
else
ODBCINST=/etc/odbcinst.ini
fi
else
ODBCINST=$prefix/odbcinst.ini
fi
ac_aux_dir= ac_aux_dir=
for ac_dir in $srcdir $srcdir/.. $srcdir/../..; do for ac_dir in $srcdir $srcdir/.. $srcdir/../..; do
@ -573,7 +579,7 @@ else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; }
fi fi
echo $ac_n "checking host system type""... $ac_c" 1>&6 echo $ac_n "checking host system type""... $ac_c" 1>&6
echo "configure:577: checking host system type" >&5 echo "configure:583: checking host system type" >&5
host_alias=$host host_alias=$host
case "$host_alias" in case "$host_alias" in
@ -637,7 +643,6 @@ esac
PORTNAME=${os} PORTNAME=${os}
echo "checking echo setting..." echo "checking echo setting..."
if echo '\c' | grep -s c >/dev/null 2>&1 if echo '\c' | grep -s c >/dev/null 2>&1
then then
@ -652,7 +657,7 @@ fi
echo $ac_n "checking setting template to""... $ac_c" 1>&6 echo $ac_n "checking setting template to""... $ac_c" 1>&6
echo "configure:656: checking setting template to" >&5 echo "configure:661: checking setting template to" >&5
# Check whether --with-template or --without-template was given. # Check whether --with-template or --without-template was given.
if test "${with_template+set}" = set; then if test "${with_template+set}" = set; then
withval="$with_template" withval="$with_template"
@ -692,7 +697,7 @@ distribution's 'interfaces/odbc' directory and try
again. again.
If neither of these is the case than please complain If neither of these is the case than please complain
kindly to the maintainers, their e-mail addresses can kindly to the maintainers; their e-mail addresses can
be found in the Readme files. be found in the Readme files.
************************************************************* *************************************************************
EOT EOT
@ -764,7 +769,7 @@ export LDFLAGS
echo "- setting LDFLAGS=$LDFLAGS" echo "- setting LDFLAGS=$LDFLAGS"
echo $ac_n "checking setting ODBCINST""... $ac_c" 1>&6 echo $ac_n "checking setting ODBCINST""... $ac_c" 1>&6
echo "configure:768: checking setting ODBCINST" >&5 echo "configure:773: checking setting ODBCINST" >&5
# Check whether --with-odbcinst or --without-odbcinst was given. # Check whether --with-odbcinst or --without-odbcinst was given.
if test "${with_odbcinst+set}" = set; then if test "${with_odbcinst+set}" = set; then
withval="$with_odbcinst" withval="$with_odbcinst"
@ -774,18 +779,13 @@ EOF
echo "$ac_t""$with_odbcinst" 1>&6 echo "$ac_t""$with_odbcinst" 1>&6
else else
cat >> confdefs.h <<EOF cat >> confdefs.h <<EOF
#define ODBCINST ${ODBCINSTDIR} #define ODBCINST /etc/odbcinst.ini
EOF EOF
echo "$ac_t""${ODBCINSTDIR}" 1>&6 echo "$ac_t""${ODBCINST}" 1>&6
fi fi
if test "X$with_odbcinst" != "X"
then
ODBCINSTDIR=$with_odbcinst
fi
if test "X$with_compiler" != "X" if test "X$with_compiler" != "X"
@ -1755,10 +1755,10 @@ s%@host_alias@%$host_alias%g
s%@host_cpu@%$host_cpu%g s%@host_cpu@%$host_cpu%g
s%@host_vendor@%$host_vendor%g s%@host_vendor@%$host_vendor%g
s%@host_os@%$host_os%g s%@host_os@%$host_os%g
s%@PORTNAME@%$PORTNAME%g s%@ODBCINST@%$ODBCINST%g
s%@ODBCINSTDIR@%$ODBCINSTDIR%g
s%@CC@%$CC%g s%@CC@%$CC%g
s%@CPP@%$CPP%g s%@CPP@%$CPP%g
s%@PORTNAME@%$PORTNAME%g
s%@AROPT@%$AROPT%g s%@AROPT@%$AROPT%g
s%@SHARED_LIB@%$SHARED_LIB%g s%@SHARED_LIB@%$SHARED_LIB%g
s%@DLSUFFIX@%$DLSUFFIX%g s%@DLSUFFIX@%$DLSUFFIX%g
@ -1977,6 +1977,51 @@ cat >> $CONFIG_STATUS <<\EOF
fi fi
fi; done fi; done
EOF
cat >> $CONFIG_STATUS <<EOF
ac_sources="makefiles/Makefile.${os}"
ac_dests="Makefile.port"
EOF
cat >> $CONFIG_STATUS <<\EOF
srcdir=$ac_given_srcdir
while test -n "$ac_sources"; do
set $ac_dests; ac_dest=$1; shift; ac_dests=$*
set $ac_sources; ac_source=$1; shift; ac_sources=$*
echo "linking $srcdir/$ac_source to $ac_dest"
if test ! -r $srcdir/$ac_source; then
{ echo "configure: error: $srcdir/$ac_source: File not found" 1>&2; exit 1; }
fi
rm -f $ac_dest
# Make relative symlinks.
# Remove last slash and all that follows it. Not all systems have dirname.
ac_dest_dir=`echo $ac_dest|sed 's%/[^/][^/]*$%%'`
if test "$ac_dest_dir" != "$ac_dest" && test "$ac_dest_dir" != .; then
# The dest file is in a subdirectory.
test ! -d "$ac_dest_dir" && mkdir "$ac_dest_dir"
ac_dest_dir_suffix="/`echo $ac_dest_dir|sed 's%^\./%%'`"
# A "../" for each directory in $ac_dest_dir_suffix.
ac_dots=`echo $ac_dest_dir_suffix|sed 's%/[^/]*%../%g'`
else
ac_dest_dir_suffix= ac_dots=
fi
case "$srcdir" in
[/$]*) ac_rel_source="$srcdir/$ac_source" ;;
*) ac_rel_source="$ac_dots$srcdir/$ac_source" ;;
esac
# Make a symlink if possible; otherwise try a hard link.
if ln -s $ac_rel_source $ac_dest 2>/dev/null ||
ln $srcdir/$ac_source $ac_dest; then :
else
{ echo "configure: error: can not link $ac_dest to $srcdir/$ac_source" 1>&2; exit 1; }
fi
done
EOF EOF
cat >> $CONFIG_STATUS <<EOF cat >> $CONFIG_STATUS <<EOF

View File

@ -1,26 +1,36 @@
dnl psqlodbc standalone configuration.
dnl Process this file with autoconf to produce a configure script. dnl Process this file with autoconf to produce a configure script.
dnl Confirm that this is being run from the ODBC source directory,
dnl and halt if not...
AC_INIT(bind.c) AC_INIT(bind.c)
AC_PREFIX_DEFAULT(/usr/local) AC_PREFIX_DEFAULT(/usr/local)
echo "*** configuring psqlodbc ***"
if test -d ../../interfaces if test -d ../../interfaces
then then
TEMPLATEDIR=../../template echo "psqlodbc can be configured either standalone or integrated"
if test "$prefix" = "NONE" echo "into the Postgres main distribution."
then echo "It appears that you are running the standalone configure"
ac_default_prefix=/usr/local/pgsql echo "from within the main distribution. The recommended (and required)"
fi echo "procedure is to configure ODBC using the integrated configuration"
ODBCINSTDIR= echo "procedure using the --with-odbc option."
else exit
TEMPLATEDIR=./template
if test "$prefix" = "NONE"
then
ODBCINSTDIR=/share
else
ODBCINSTDIR=
fi
fi fi
echo "*** configuring psqlodbc ***" TEMPLATEDIR=./template
if test "$prefix" = "NONE"
then
if test -d "/share"
then
ODBCINST=/share/odbcinst.ini
else
ODBCINST=/etc/odbcinst.ini
fi
else
ODBCINST=$prefix/odbcinst.ini
fi
AC_CANONICAL_HOST AC_CANONICAL_HOST
@ -65,8 +75,7 @@ esac
PORTNAME=${os} PORTNAME=${os}
AC_LINK_FILES(makefiles/Makefile.${os}, Makefile.port)
AC_SUBST(PORTNAME)
echo "checking echo setting..." echo "checking echo setting..."
if echo '\c' | grep -s c >/dev/null 2>&1 if echo '\c' | grep -s c >/dev/null 2>&1
@ -101,8 +110,7 @@ dnl fi
AC_MSG_CHECKING(setting template to) AC_MSG_CHECKING(setting template to)
AC_ARG_WITH(template, AC_ARG_WITH(template,
[ --with-template=TEMPLATE [ --with-template=TEMPLATE
use operating system template file use operating system template file; see template directory],
see template directory],
[ TEMPLATE=$withval ], [ TEMPLATE=$withval ],
[ host_no_ver=`echo "$host" | sed 's/[[0-9.]]*$//'` [ host_no_ver=`echo "$host" | sed 's/[[0-9.]]*$//'`
GUESS=`grep "$host_no_ver" $TEMPLATEDIR/.similar | sed 's/.*=//' | tail -1` GUESS=`grep "$host_no_ver" $TEMPLATEDIR/.similar | sed 's/.*=//' | tail -1`
@ -136,7 +144,7 @@ distribution's 'interfaces/odbc' directory and try
again. again.
If neither of these is the case than please complain If neither of these is the case than please complain
kindly to the maintainers, their e-mail addresses can kindly to the maintainers; their e-mail addresses can
be found in the Readme files. be found in the Readme files.
************************************************************* *************************************************************
EOT EOT
@ -212,18 +220,14 @@ dnl file which is normally ${prefix}/share or ${prefix} if this is
dnl being compiled inside the postgres distribution. dnl being compiled inside the postgres distribution.
AC_MSG_CHECKING(setting ODBCINST) AC_MSG_CHECKING(setting ODBCINST)
AC_ARG_WITH( AC_ARG_WITH(
odbcinst, odbcinst,
[ --with-odbcinst=<datadir> change default directory for odbcinst.ini], [ --with-odbcinst=<pathname>
change default directory for odbcinst.ini ],
AC_DEFINE_UNQUOTED(ODBCINST, ${with_odbcinst}) AC_MSG_RESULT($with_odbcinst), AC_DEFINE_UNQUOTED(ODBCINST, ${with_odbcinst}) AC_MSG_RESULT($with_odbcinst),
AC_DEFINE_UNQUOTED(ODBCINST, ${ODBCINSTDIR}) AC_MSG_RESULT(${ODBCINSTDIR}) AC_DEFINE_UNQUOTED(ODBCINST, /etc/odbcinst.ini) AC_MSG_RESULT(${ODBCINST})
) )
if test "X$with_odbcinst" != "X" AC_SUBST(ODBCINST)
then
ODBCINSTDIR=$with_odbcinst
fi
AC_SUBST(ODBCINSTDIR)
if test "X$with_compiler" != "X" if test "X$with_compiler" != "X"
then then