OSDN Git Service

Changes to support standalone installation.
authorThomas G. Lockhart <lockhart@fourpalms.org>
Fri, 9 Oct 1998 07:04:53 +0000 (07:04 +0000)
committerThomas G. Lockhart <lockhart@fourpalms.org>
Fri, 9 Oct 1998 07:04:53 +0000 (07:04 +0000)
src/interfaces/odbc/GNUmakefile.in
src/interfaces/odbc/Makefile.global.in
src/interfaces/odbc/configure
src/interfaces/odbc/configure.in

index 6393eb1..0b2652f 100644 (file)
@@ -1,13 +1,13 @@
 #-------------------------------------------------------------------------
 #
-# Makefile.inc--
-#    Build and install postgres.
+# GNUMakefile.in--
+#    Build and install psqlodbc (Postgres ODBC driver).
 #
 # Copyright (c) 1994, Regents of the University of California
 #
 #
 # 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@
@@ -40,11 +40,11 @@ ifeq ($(PORTNAME), bsd)
   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 \
-       install-sh license.txt notice.txt odbcinst.ini patch \
-       psqlodbc.aps psqlodbc.def psqlodbc.mak psqlodbc.mdp \
-       psqlodbc.ncb psqlodbc.rc readme.txt
+       install-sh license.txt notice.txt odbcinst.ini \
+       psqlodbc.def \
+       psqlodbc.rc readme.txt
 
 OBJECTS = info.o bind.o columninfo.o connection.o convert.o drvconn.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)
 
 install-ini: odbcinst.ini
-       $(INSTALL) $(INSTL_LIB_OPTS) odbcinst.ini $(ODBCINST)/odbcinst.ini
+       $(INSTALL) $(INSTL_LIB_OPTS) odbcinst.ini $(ODBCINST)
 
 depend dep:
        $(CC) -MM *.c >depend
@@ -101,24 +101,32 @@ depend dep:
 
 clean:
        -rm -f lib$(NAME).a $(shlib) $(OBJECTS) lib$(NAME)$(DLSUFFIX)
-       -rm -f config.log config.cache config.status
-       
+
 .PHONY: distclean
 
 distclean: clean
        -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
 
 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
-       tar -cf psqlodbc-$(SO_MAJOR_VERSION)$(SO_MINOR_VERSION).tar $(SOURCES)
-       tar -r -C ../.. -f psqlodbc-$(SO_MAJOR_VERSION)$(SO_MINOR_VERSION).tar template
+       $(TAR) -chf psqlodbc-$(SO_MAJOR_VERSION)$(SO_MINOR_VERSION).tar \
+           $(SOURCES) -C @top_srcdir@ makefiles template
        gzip psqlodbc-$(SO_MAJOR_VERSION)$(SO_MINOR_VERSION).tar
 
 .PHONY: integrated
 
 integrated:
        -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
index f074cb1..d5edb32 100644 (file)
@@ -1,13 +1,13 @@
 #----------------------------------------------------------------------------
 #
 # Makefile.global--
-#    global configuration for the Makefiles
+#    global configuration for pgsqlodbc (Postgres ODBC driver)
 #
 # Copyright (c) 1994, Regents of the University of California
 #
 #
 # 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
 #    This is derived from the main Postgres makefile.
@@ -71,18 +71,18 @@ BINDIR= $(POSTGRESDIR)/bin
 
 LIBDIR= $(POSTGRESDIR)/lib
 
-# Where the man pages (suitable for use with "man") get installed.
-POSTMANDIR= $(POSTGRESDIR)/man
-
+## Where the man pages (suitable for use with "man") get installed.
+#POSTMANDIR= $(POSTGRESDIR)/man
+#
 # 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.
 HEADERDIR= $(POSTGRESDIR)/include
 
 # 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@ 
 
 
-
 #-------------------------------------------------------------
 # See the subdirectory template for default settings for these
 #-------------------------------------------------------------
@@ -131,30 +130,30 @@ LDFLAGS= @LDFLAGS@ @LIBS@
 DLSUFFIX= @DLSUFFIX@
 LN_S = @LN_S@
 
+ifneq ($(wildcard $(SRCDIR)/Makefile.port), )
+  include $(SRCDIR)/Makefile.port
+endif
+
+
 ##############################################################################
 #
 # 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
-# in the top level Postgres directory it overrides any local customization
-# that might be in Makefile.custom of the odbc driver directory. These
-# files don't exist in the original
-# distribution so that they don't get overwritten when you upgrade.
+# in the top level Postgres directory it will take precedence
+# over any local Makefile.custom in the odbc driver directory.
 
 ifneq ($(wildcard $(SRCDIR)/Makefile.custom), )
-include $(SRCDIR)/Makefile.custom
+   include $(SRCDIR)/Makefile.custom
 endif
 
-ifneq ($(wildcard ../../Makefile.custom), )
-include ../../Makefile.custom
-endif
 
 # This goes here so that customization in Makefile.custom is effective
 ##############################################################################
 
 ifneq ($(CUSTOM_INSTALL),)
-INSTALL= $(CUSTOM_INSTALL)
+  INSTALL= $(CUSTOM_INSTALL)
 endif
 
 #
@@ -193,9 +192,9 @@ ifneq ($(CUSTOM_COPT),)
 endif
 
 ifeq ($(CC), gcc)
-CFLAGS+= -Wall -Wmissing-prototypes
+  CFLAGS+= -Wall -Wmissing-prototypes
 endif
 
 ifdef COPT
-   CFLAGS+= $(COPT)
+  CFLAGS+= $(COPT)
 endif
index a4a6a01..7cf0d23 100755 (executable)
@@ -14,10 +14,10 @@ ac_default_prefix=/usr/local
 ac_default_prefix=/usr/local
 ac_help="$ac_help
   --with-template=TEMPLATE
-                                                       use operating system template file
-                                                               see template directory"
+                                  use operating system template file; see template directory"
 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.
 # The variables have the same names as the options, with
@@ -527,26 +527,32 @@ fi
 
 
 
+echo "*** configuring psqlodbc ***"
+
 if test -d ../../interfaces
 then
-       TEMPLATEDIR=../../template
-       if test "$prefix" = "NONE"
-       then
-               ac_default_prefix=/usr/local/pgsql
-       fi
-       ODBCINSTDIR=
-else
-       TEMPLATEDIR=./template
-       if test "$prefix" = "NONE"
+       echo "psqlodbc can be configured either standalone or integrated"
+       echo "into the Postgres main distribution."
+       echo "It appears that you are running the standalone configure"
+       echo "from within the main distribution. The recommended (and required)"
+       echo "procedure is to configure ODBC using the integrated configuration"
+       echo "procedure using the --with-odbc option."
+       exit
+fi
+
+TEMPLATEDIR=./template
+if test "$prefix" = "NONE"
+then
+       if test -d "/share"
        then
-               ODBCINSTDIR=/share
+               ODBCINST=/share/odbcinst.ini
        else
-               ODBCINSTDIR=
+               ODBCINST=/etc/odbcinst.ini
        fi
+else
+       ODBCINST=$prefix/odbcinst.ini
 fi
 
-echo "*** configuring psqlodbc ***"
-
 ac_aux_dir=
 for ac_dir in $srcdir $srcdir/.. $srcdir/../..; do
   if test -f $ac_dir/install-sh; then
@@ -573,7 +579,7 @@ else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; }
 fi
 
 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
 case "$host_alias" in
@@ -637,7 +643,6 @@ esac
 PORTNAME=${os}
 
 
-
 echo "checking echo setting..."
 if echo '\c' | grep -s c >/dev/null 2>&1
 then
@@ -652,7 +657,7 @@ fi
 
 
 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.
 if test "${with_template+set}" = set; then
   withval="$with_template"
@@ -692,7 +697,7 @@ distribution's 'interfaces/odbc' directory and try
 again.
 
 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.
 *************************************************************
 EOT
@@ -764,7 +769,7 @@ export LDFLAGS
 echo "- setting LDFLAGS=$LDFLAGS"
 
 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.
 if test "${with_odbcinst+set}" = set; then
   withval="$with_odbcinst"
@@ -774,18 +779,13 @@ EOF
  echo "$ac_t""$with_odbcinst" 1>&6
 else
   cat >> confdefs.h <<EOF
-#define ODBCINST ${ODBCINSTDIR}
+#define ODBCINST /etc/odbcinst.ini
 EOF
- echo "$ac_t""${ODBCINSTDIR}" 1>&6
+ echo "$ac_t""${ODBCINST}" 1>&6
 
 fi
 
 
-if test "X$with_odbcinst" != "X"
-then
-       ODBCINSTDIR=$with_odbcinst
-fi
-
 
 
 if test "X$with_compiler" != "X"
@@ -1755,10 +1755,10 @@ s%@host_alias@%$host_alias%g
 s%@host_cpu@%$host_cpu%g
 s%@host_vendor@%$host_vendor%g
 s%@host_os@%$host_os%g
-s%@PORTNAME@%$PORTNAME%g
-s%@ODBCINSTDIR@%$ODBCINSTDIR%g
+s%@ODBCINST@%$ODBCINST%g
 s%@CC@%$CC%g
 s%@CPP@%$CPP%g
+s%@PORTNAME@%$PORTNAME%g
 s%@AROPT@%$AROPT%g
 s%@SHARED_LIB@%$SHARED_LIB%g
 s%@DLSUFFIX@%$DLSUFFIX%g
@@ -1978,6 +1978,51 @@ cat >> $CONFIG_STATUS <<\EOF
 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
 cat >> $CONFIG_STATUS <<EOF
 
 EOF
index 0f53a2e..893f696 100644 (file)
@@ -1,27 +1,37 @@
+dnl psqlodbc standalone configuration.
 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_PREFIX_DEFAULT(/usr/local)
 
+echo "*** configuring psqlodbc ***"
+
 if test -d ../../interfaces
 then
-       TEMPLATEDIR=../../template
-       if test "$prefix" = "NONE"
-       then
-               ac_default_prefix=/usr/local/pgsql
-       fi
-       ODBCINSTDIR=
-else
-       TEMPLATEDIR=./template
-       if test "$prefix" = "NONE"
+       echo "psqlodbc can be configured either standalone or integrated"
+       echo "into the Postgres main distribution."
+       echo "It appears that you are running the standalone configure"
+       echo "from within the main distribution. The recommended (and required)"
+       echo "procedure is to configure ODBC using the integrated configuration"
+       echo "procedure using the --with-odbc option."
+       exit
+fi
+
+TEMPLATEDIR=./template
+if test "$prefix" = "NONE"
+then
+       if test -d "/share"
        then
-               ODBCINSTDIR=/share
+               ODBCINST=/share/odbcinst.ini
        else
-               ODBCINSTDIR=
+               ODBCINST=/etc/odbcinst.ini
        fi
+else
+       ODBCINST=$prefix/odbcinst.ini
 fi
 
-echo "*** configuring psqlodbc ***"
-
 AC_CANONICAL_HOST
 
 case "$host_os" in
@@ -65,8 +75,7 @@ esac
 
 
 PORTNAME=${os}
-
-AC_SUBST(PORTNAME)
+AC_LINK_FILES(makefiles/Makefile.${os}, Makefile.port)
 
 echo "checking echo setting..."
 if echo '\c' | grep -s c >/dev/null 2>&1
@@ -101,8 +110,7 @@ dnl fi
 AC_MSG_CHECKING(setting template to)
 AC_ARG_WITH(template,
        [  --with-template=TEMPLATE
-                                                       use operating system template file
-                                                               see template directory],
+                                  use operating system template file; see template directory],
        [  TEMPLATE=$withval ],
        [  host_no_ver=`echo "$host" | sed 's/[[0-9.]]*$//'`
                GUESS=`grep "$host_no_ver" $TEMPLATEDIR/.similar | sed 's/.*=//' | tail -1`
@@ -136,7 +144,7 @@ distribution's 'interfaces/odbc' directory and try
 again.
 
 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.
 *************************************************************
 EOT
@@ -212,18 +220,14 @@ dnl file which is normally ${prefix}/share or ${prefix} if this is
 dnl being compiled inside the postgres distribution.
 AC_MSG_CHECKING(setting ODBCINST)
 AC_ARG_WITH(
-   odbcinst,
-   [   --with-odbcinst=<datadir> change default directory for odbcinst.ini],
+       odbcinst,
+       [  --with-odbcinst=<pathname>
+                               change default directory for odbcinst.ini ],
    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"
-then
-       ODBCINSTDIR=$with_odbcinst
-fi
-
-AC_SUBST(ODBCINSTDIR)
+AC_SUBST(ODBCINST)
 
 if test "X$with_compiler" != "X"
 then