diff options
| author | Tom Lane | 1998-10-18 19:41:00 +0000 |
|---|---|---|
| committer | Tom Lane | 1998-10-18 19:41:00 +0000 |
| commit | e1942f5b9e1c71e3f5e912ab9ffeb1e34339845d (patch) | |
| tree | bd94766d228875c33dc468f3deb2c53c5dec69c3 /src/interfaces/odbc | |
| parent | 14f4ca009c259330dbb43b1cccc49c9fd7a98c58 (diff) | |
Clean up shared makefile install procedures.
Get the permissions right, don't overwrite real files with symlinks, etc.
plpgsql and odbc still aren't fully up to speed, but at least they don't crash and burn...
Diffstat (limited to 'src/interfaces/odbc')
| -rw-r--r-- | src/interfaces/odbc/GNUmakefile.in | 36 | ||||
| -rw-r--r-- | src/interfaces/odbc/Makefile.global.in | 3 | ||||
| -rw-r--r-- | src/interfaces/odbc/configure.in | 19 |
3 files changed, 41 insertions, 17 deletions
diff --git a/src/interfaces/odbc/GNUmakefile.in b/src/interfaces/odbc/GNUmakefile.in index 4597ed3ca6c..bb97b0b15d6 100644 --- a/src/interfaces/odbc/GNUmakefile.in +++ b/src/interfaces/odbc/GNUmakefile.in @@ -7,7 +7,7 @@ # # # IDENTIFICATION -# $Header: /cvsroot/pgsql/src/interfaces/odbc/Attic/GNUmakefile.in,v 1.5 1998/10/14 16:09:32 thomas Exp $ +# $Header: /cvsroot/pgsql/src/interfaces/odbc/Attic/GNUmakefile.in,v 1.6 1998/10/18 19:40:56 tgl Exp $ # #------------------------------------------------------------------------- @SET_MAKE@ @@ -25,17 +25,24 @@ FIND= @find@ TAR= @tar@ SPLIT= @split@ -install-shlib-dep := install-shlib -shlib := lib$(NAME)$(DLSUFFIX).$(SO_MAJOR_VERSION).$(SO_MINOR_VERSION) +# Shared library stuff +shlib := +install-shlib-dep := ifeq ($(PORTNAME), linux) + install-shlib-dep := install-shlib + shlib := lib$(NAME)$(DLSUFFIX).$(SO_MAJOR_VERSION).$(SO_MINOR_VERSION) LDFLAGS_SL = -shared -soname lib$(NAME)$(DLSUFFIX).$(SO_MAJOR_VERSION).$(SO_MINOR_VERSION) LDFLAGS_SL += -Bsymbolic $(LDFLAGS) -lc -lm + CFLAGS += $(CFLAGS_SL) endif ifeq ($(PORTNAME), bsd) ifdef BSD_SHLIB + install-shlib-dep := install-shlib + shlib := lib$(NAME)$(DLSUFFIX).$(SO_MAJOR_VERSION).$(SO_MINOR_VERSION) LDFLAGS_SL = -x -Bshareable -Bforcearchive $(LDFLAGS) + CFLAGS += $(CFLAGS_SL) endif endif @@ -55,16 +62,15 @@ CFLAGS += -I. @DEFS@ all: libpsqlodbc.a $(shlib) libpsqlodbc.a: $(OBJECTS) - $(AR) $(AROPT) libpsqlodbc.a $(OBJS) + $(AR) $(AROPT) libpsqlodbc.a $(OBJECTS) $(RANLIB) libpsqlodbc.a $(shlib): $(OBJECTS) $(LD) $(LDFLAGS_SL) $(OBJECTS) \ -o $(shlib) $(LIBS) -.PHONY: beforeinstall-headers - -.PHONY: install +.PHONY: beforeinstall-headers install-headers +.PHONY: install install-libpsqlodbc install-ini install-shlib install: $(HEADERDIR) $(LIBDIR) $(ODBCINST) install-headers \ install-libpsqlodbc install-ini $(install-shlib-dep) @@ -84,11 +90,17 @@ install-libpsqlodbc: libpsqlodbc.a $(INSTALL) $(INSTL_LIB_OPTS) libpsqlodbc.a $(LIBDIR)/lib$(NAME).a install-shlib: $(shlib) - $(INSTALL) $(INSTL_LIB_OPTS) $(shlib) $(LIBDIR)/$(shlib) - rm -f $(LIBDIR)/lib$(NAME)$(DLSUFFIX) - rm -f $(LIBDIR)/lib$(NAME)$(DLSUFFIX).$(SO_MAJOR_VERSION) - cd $(LIBDIR) && $(LN_S) -f $(shlib) lib$(NAME)$(DLSUFFIX).$(SO_MAJOR_VERSION) - cd $(LIBDIR) && $(LN_S) -f $(shlib) lib$(NAME)$(DLSUFFIX) + $(INSTALL) $(INSTL_SHLIB_OPTS) $(shlib) $(LIBDIR)/$(shlib) + if [ "$(shlib)" != "lib$(NAME)$(DLSUFFIX).$(SO_MAJOR_VERSION)" ]; then \ + cd $(LIBDIR); \ + rm -f lib$(NAME)$(DLSUFFIX).$(SO_MAJOR_VERSION); \ + $(LN_S) $(shlib) lib$(NAME)$(DLSUFFIX).$(SO_MAJOR_VERSION); \ + fi + if [ "$(shlib)" != "lib$(NAME)$(DLSUFFIX)" ]; then \ + cd $(LIBDIR); \ + rm -f lib$(NAME)$(DLSUFFIX); \ + $(LN_S) $(shlib) lib$(NAME)$(DLSUFFIX); \ + fi install-ini: odbcinst.ini $(INSTALL) $(INSTL_LIB_OPTS) odbcinst.ini $(ODBCINST) diff --git a/src/interfaces/odbc/Makefile.global.in b/src/interfaces/odbc/Makefile.global.in index d5edb32a0de..c1374167ef7 100644 --- a/src/interfaces/odbc/Makefile.global.in +++ b/src/interfaces/odbc/Makefile.global.in @@ -7,7 +7,7 @@ # # # IDENTIFICATION -# $Header: /cvsroot/pgsql/src/interfaces/odbc/Attic/Makefile.global.in,v 1.2 1998/10/09 07:04:50 thomas Exp $ +# $Header: /cvsroot/pgsql/src/interfaces/odbc/Attic/Makefile.global.in,v 1.3 1998/10/18 19:40:56 tgl Exp $ # # NOTES # This is derived from the main Postgres makefile. @@ -102,6 +102,7 @@ RANLIB= @RANLIB@ INSTLOPTS= @INSTLOPTS@ INSTL_EXE_OPTS= @INSTL_EXE_OPTS@ INSTL_LIB_OPTS= @INSTL_LIB_OPTS@ +INSTL_SHLIB_OPTS= @INSTL_SHLIB_OPTS@ ############################################################################## # diff --git a/src/interfaces/odbc/configure.in b/src/interfaces/odbc/configure.in index 893f6963008..ded19b9b3d5 100644 --- a/src/interfaces/odbc/configure.in +++ b/src/interfaces/odbc/configure.in @@ -250,8 +250,8 @@ AC_SUBST(CFLAGS) AC_SUBST(DLSUFFIX) AC_SUBST(DL_LIB) -INSTALLPATH="/usr/ucb:$PATH" -AC_PATH_PROGS(INSTALL, ginstall installbsd bsdinst scoinst install, NONE, $INSTALLPATH) +INSTALLPATH="`echo /usr/ucb:$PATH | sed 's/:/ /g'`" +AC_PATH_PROGS(INSTALL, ginstall installbsd bsdinst scoinst install, NONE, $INSTALLPATH ) if test $INSTALL = "NONE" then echo "- No Install Script found - aborting." @@ -261,18 +261,29 @@ fi INSTLOPTS="-m 444" INSTL_EXE_OPTS="-m 555" INSTL_LIB_OPTS="-m 644" +INSTL_SHLIB_OPTS="-m 644" +dnl HPUX wants shared libs to be mode 555. +case "$host_os" in + hpux*) + INSTL_SHLIB_OPTS="-m 555" ;; +esac + +dnl These flavors of install need -c to install by copy rather than move. +dnl install by move is fatal because it removes stuff from the source tree! case "`basename $INSTALL`" in - install|installbsd|scoinst) + install|installbsd|scoinst|install-sh) INSTLOPTS="-c $INSTLOPTS" INSTL_EXE_OPTS="-c $INSTL_EXE_OPTS" - INSTL_LIB_OPTS="-c $INSTL_LIB_OPTS";; + INSTL_LIB_OPTS="-c $INSTL_LIB_OPTS" + INSTL_SHLIB_OPTS="-c $INSTL_SHLIB_OPTS";; esac echo "- Using $INSTALL" AC_SUBST(INSTALL) AC_SUBST(INSTLOPTS) AC_SUBST(INSTL_LIB_OPTS) +AC_SUBST(INSTL_SHLIB_OPTS) AC_SUBST(INSTL_EXE_OPTS) dnl Check the option to echo to inhibit newlines. |
