$NetBSD: patch-ai,v 1.4 2010/10/01 20:50:55 minskim Exp $

--- config/Makefile.SH.orig	2010-01-09 17:59:48.000000000 +0000
+++ config/Makefile.SH
@@ -70,7 +70,7 @@ plotrunpath=
 case "$which_graphic_lib" in
   *X11*)
     PLOTCFLAGS="$PLOTCFLAGS $X11_INC"
-    PLOTLIBS="$PLOTLIBS $X11_LIBS"
+    PLOTLIBS="-Wl,-R${X11BASE}/lib $PLOTLIBS $X11_LIBS"
     plotrunpath=$X11
     graph="plotX $graph"
   ;;
@@ -110,25 +110,12 @@ if test -n "$runpathprefix"; then
   RUNPTH=`$config_dir/ldflags "$LDneedsWl" "$runpathprefix$TOP/$objdir$dir_sep$tmp"`
 fi
 
-if test -z "$DLLD"; then
-  exec="gp-sta"; static=y
-else
-  exec="gp-sta gp-dyn"
-fi
 case "$sizeof_long" in
   4) numbits=32;;
   8) numbits=64;;
 esac
 dotest="env \"LD_LIBRARY_PATH=.$dir_sep\$\$LD_LIBRARY_PATH\" \$(SHELL) $src/test/dotest $numbits"
-if test -z "$emacs"; then
-  install_emacs_files=
-else
-  install_emacs_files=install_emacs_files
-fi
-case "$static" in
-  n) dft=dyn; libdft=lib-dyn;;
-  y) dft=sta; libdft= ;;
-esac
+install_emacs_files=install_emacs_files
 
 CPPFLAGS="-I. -I$src/headers"
 if test "$has_dlopen" = builtin; then
@@ -153,16 +140,14 @@ AR	   = ar
 SIZEOF_LONG= $sizeof_long
 
 CC_FLAVOR  =
-CC         = $CC \$(CC_FLAVOR)
+CC         = \$(LIBTOOL) --mode=compile $CC \$(CC_FLAVOR)
 CPPFLAGS   = $CPPFLAGS
 CFLAGS     = $CFLAGS
 DLCFLAGS   = $DLCFLAGS
 LD_FLAVOR  = \$(CC_FLAVOR)
-LD         = $LD \$(LD_FLAVOR)
+LD         = \$(LIBTOOL) --mode=link $LD \$(LD_FLAVOR)
 LDFLAGS    = $LDFLAGS
 DLLD_FLAVOR  = \$(LD_FLAVOR)
-DLLD       = $DLLD \$(DLLD_FLAVOR)
-DLLDFLAGS  = $DLLDFLAGS
 EXTRADLLDFLAGS = $EXTRADLLDFLAGS
 
 # HIGHLY EXPERIMENTAL (only tested with gmp-4.0 on ix86 and Ultra).
@@ -179,29 +164,19 @@ EXTRADLLDFLAGS = $EXTRADLLDFLAGS
 #the following line
 #GMPO2 = \$(GMP)/sparcv9.o
 
-_O	   = .o
-_A	   = .a
+_O	   = .lo
+_A	   = .la
 LIB_PREFIX = $lib_prefix
-DLLIB_PREFIX = $dllib_prefix
-LIBPARI_BASE = $libpari_base
-LIBPARI      = \$(LIB_PREFIX)pari
-DLLIBPARI    = \$(DLLIB_PREFIX)pari
-LIBPARI_STA  = \$(LIBPARI)\$(_A)
-LIBPARI_SO   = \$(DLLIBPARI).$DLSUFFIX
-SOLIBPARI    = \$(DLLIB_PREFIX)\$(LIBPARI_BASE).$DLSUFFIX
-LIBPARI_DYN   = \$(SOLIBPARI)$sodest
-LIBPARI_SONAME= \$(SOLIBPARI)$soname
+LIBPARI      = \$(LIB_PREFIX)$libpari_base\$(_A)
 DL_DFLT_NAME = $DL_DFLT_NAME
 
 EXPORT_FILE   = $export_file
 EXPORT_CREATE = $export_create
 EXPORT_LIB    = $export_lib
 EXPORT_LIB_CREATE = $export_lib_create
-DLLD_IGNORE   = $dlld_ignore
 
 RUNPTH       = $RUNPTH
 RUNPTH_FINAL = $RUNPTH_FINAL
-LDDYN        = $LDDYN
 LIBS         = $LIBS
 
 RM = rm -f
@@ -226,8 +201,10 @@ MISCDIR   = \$(DATADIR)/misc
 DOCDIR    = \$(DATADIR)/doc
 
 INSTALL = $cfg/install
-INSTALL_PROGRAM = \$(INSTALL)
-INSTALL_DATA = \$(INSTALL) -m 644
+INSTALL_PROGRAM = \$(BSD_INSTALL_PROGRAM)
+INSTALL_SCRIPT = \$(BSD_INSTALL_SCRIPT)
+INSTALL_DATA = \$(BSD_INSTALL_DATA)
+INSTALL_MAN = \$(BSD_INSTALL_MAN)
 
 # Readline
 RLINCLUDE = $RLINCLUDE
@@ -239,7 +216,7 @@ QTDIR      = "$QTDIR"
 MOC        = \$(QTDIR)/bin/moc
 PLOTCFLAGS = $PLOTCFLAGS
 PLOTLIBS   = $PLOTLIBS
-CPLUSPLUS  = g++
+CPLUSPLUS  = \$(LIBTOOL) --mode=compile $CXX \$(CXX_FLAVOR)
 
 FLTKDIR    = "$FLTKDIR"
 
@@ -254,21 +231,16 @@ DOTEST=$dotest
 OBJS   = $OBJS
 OBJSGP = $OBJSGP
 
-gp: gp-$dft ../gp$suffix$exe_suff $libdft
+all: \$(LIBPARI)
 
-../gp$suffix$exe_suff: gp-$dft
-	-\$(RM) \$@
-	-\$(LN) $ln_objdir/gp-$dft$exe_suff \$@
+lib: \$(LIBPARI)
 
-all: $exec lib-sta
+\$(LIBPARI): \$(OBJS)
+	\$(LD) -o \$@ \$(OBJS) -rpath \$(LIBDIR) --version-info 0:0
 
-lib-sta: \$(LIBPARI_STA)
-lib-dyn: \$(LIBPARI_DYN)
-
-\$(LIBPARI_STA): $add_funclist \$(OBJS)
-	-\$(RM) \$@
-	\$(AR) r \$@ \$(OBJS)
-	-$ranlib \$@
+gp: \$(OBJSGP) \$(LIBPARI)
+	\$(RM) \$@
+	\$(LD) -o \$@ \$(LDFLAGS) \$(OBJSGP) \$(RUNPTH_FINAL) \$(PLOTLIBS) \$(LIBS) \$(RLLIBS) \$(LIBPARI)
 
 kerntest\$(_O): $src/test/kerntest.c
 	\$(CC) -c \$(CFLAGS) -I$src/language \$(CPPFLAGS) -o \$@ $src/test/kerntest.c
@@ -297,11 +269,6 @@ tune-dyn: tune.o \$(LIBPARI_DYN)
 tune-sta: tune.o \$(LIBPARI_STA)
 	\$(LD) \$(LDFLAGS) -o \$@ \$< \$(GMPOBJS) ./\$(LIBPARI_STA) \$(LIBS)
 
-gp-sta: $add_funclist \$(OBJS) \$(OBJSGP)
-	\$(RM) \$@
-	\$(LD) -o \$@ \$(LDFLAGS) \$(OBJS) \$(OBJSGP) \$(RUNPTH) \$(RLLIBS) \$(PLOTLIBS) \$(LIBS)
-	$postconfig gp-sta
-
 cleanemacs:
 	\$(RM) $emx/*.elc
 cleantest:
@@ -316,7 +283,7 @@ clean: cleanobj cleantest cleanemacs cle
 .headers: $HEADERS
 	@touch \$@
 
-install: install-lib-$dft install-include install-bin install-man install-misc install-doc install-examples install-cfg install-data
+install: install-lib install-include install-bin install-man install-misc install-examples install-cfg install-data
 
 install-include:
 	-mkdir -p \$(INCLUDEDIR)/pari
@@ -324,23 +291,11 @@ install-include:
 	  \$(INSTALL_DATA) \$\$i \$(INCLUDEDIR)/pari; done
 	-for i in $headerlist; do \\
 	   \$(INSTALL_DATA) $src/headers/\$\$i.h  \$(INCLUDEDIR)/pari; done
-	-\$(RM) \$(INCLUDEDIR)/pari/genpari.h
 	-\$(LN) pari.h \$(INCLUDEDIR)/pari/genpari.h
 
-install-bin: install-bin-$dft
-
-install-bin-dyn: gp-dyn
+install-bin: gp
 	-mkdir -p \$(BINDIR)
-	-\$(RM) \$(BINDIR)/gp-$version$exe_suff \$(BINDIR)/gp$exe_suff
-	\$(LD) -o \$(BINDIR)/gp-$version$exe_suff \$(LDFLAGS) \$(OBJSGP) \$(RUNPTH_FINAL) \$(TOPLDDYN) \$(LDDYN) \$(PLOTLIBS) \$(LIBS)
-	-\$(STRIP) \$(STRIPFLAGS) \$(BINDIR)/gp-$version$exe_suff
-	$postconfig \$(BINDIR)/gp-$version$exe_suff
-	-\$(LN) gp-$version$exe_suff \$(BINDIR)/gp$exe_suff
-
-install-bin-sta: gp-sta
-	-mkdir -p \$(BINDIR)
-	-\$(RM) \$(BINDIR)/gp-$version$exe_suff \$(BINDIR)/gp$exe_suff
-	\$(INSTALL_PROGRAM) gp-sta$exe_suff \$(BINDIR)/gp-$version$exe_suff
+	\$(LIBTOOL) --mode=install \$(INSTALL_PROGRAM) gp$exe_suff \$(BINDIR)/gp-$version$exe_suff
 	-\$(LN) gp-$version$exe_suff \$(BINDIR)/gp$exe_suff
 # Can't strip it if we want install() to work on OSF.
 #	-\$(STRIP) \$(STRIPFLAGS)  \$(BINDIR)/gp-$version
@@ -348,24 +303,22 @@ install-bin-sta: gp-sta
 
 install-man::
 	-mkdir -p \$(MANDIR)
-	-\$(RM) \$(MANDIR)/pari.1 \$(MANDIR)/gp.1 \$(MANDIR)/gp-$version.1
-	\$(INSTALL_DATA) $doc/gphelp.1 \$(MANDIR)
-	\$(INSTALL_DATA) $doc/gp.1 \$(MANDIR)/gp-$version.1
+	\$(INSTALL_MAN) $doc/gphelp.1 \$(MANDIR)
+	\$(INSTALL_MAN) $doc/gp.1 \$(MANDIR)
 	-\$(LN) gp.1 \$(MANDIR)/pari.1
-	-\$(LN) gp-$version.1 \$(MANDIR)/gp.1
 
 install-misc: $install_emacs_files
 	-mkdir -p \$(MISCDIR) \$(BINDIR)
-	\$(INSTALL_PROGRAM) $misc/tex2mail \$(BINDIR)
-	\$(INSTALL_DATA) $doc/tex2mail.1 \$(MANDIR)
-	\$(INSTALL_DATA) $misc/README    \$(MISCDIR)
-	\$(INSTALL_DATA) $misc/color.dft \$(MISCDIR)
-	\$(INSTALL_DATA) $misc/gpalias   \$(MISCDIR)
-	\$(INSTALL_PROGRAM) $misc/gpflog \$(MISCDIR)
-	\$(INSTALL_DATA) $misc/gprc.dft  \$(MISCDIR)
-	\$(INSTALL_DATA) $misc/new.dic   \$(MISCDIR)
-	\$(INSTALL_DATA) $misc/pari.xpm  \$(MISCDIR)
-	\$(INSTALL_PROGRAM) $misc/xgp    \$(MISCDIR)
+	\$(INSTALL_SCRIPT) $misc/tex2mail \$(BINDIR)
+	\$(INSTALL_MAN) $doc/tex2mail.1   \$(MANDIR)
+	\$(INSTALL_DATA) $misc/README     \$(MISCDIR)
+	\$(INSTALL_DATA) $misc/color.dft  \$(MISCDIR)
+	\$(INSTALL_DATA) $misc/gpalias    \$(MISCDIR)
+	\$(INSTALL_SCRIPT) $misc/gpflog   \$(MISCDIR)
+	\$(INSTALL_DATA) $misc/gprc.dft   \$(MISCDIR)
+	\$(INSTALL_DATA) $misc/new.dic    \$(MISCDIR)
+	\$(INSTALL_DATA) $misc/pari.xpm   \$(MISCDIR)
+	\$(INSTALL_SCRIPT) $misc/xgp      \$(MISCDIR)
 
 install-cfg::
 	-mkdir -p \$(SYSDATADIR)
@@ -377,8 +330,15 @@ install-cfg::
 
 install-doc::
 	-mkdir -p \$(BINDIR) \$(DOCDIR)
+	-\$(INSTALL_DATA) ../AUTHORS     \$(DATADIR)
+	-\$(INSTALL_DATA) ../CHANGES     \$(DATADIR)
+	-\$(INSTALL_DATA) ../COMPAT     \$(DATADIR)
+	-\$(INSTALL_DATA) ../COPYING     \$(DATADIR)
+	-\$(INSTALL_DATA) ../MACHINES     \$(DATADIR)
+	-\$(INSTALL_DATA) ../NEW     \$(DATADIR)
+	-\$(INSTALL_DATA) ../README     \$(DATADIR)
 	-cd $doc; \$(MAKE) all
-	-\$(INSTALL_PROGRAM) $doc/gphelp    \$(BINDIR)
+	-\$(INSTALL_SCRIPT) $doc/gphelp    \$(BINDIR)
 	-\$(INSTALL_DATA) $doc/Makefile     \$(DOCDIR)
 	-\$(INSTALL_DATA) $doc/translations \$(DOCDIR)
 	-\$(INSTALL_DATA) $doc/appa.tex     \$(DOCDIR)
@@ -395,11 +355,10 @@ install-doc::
 	-\$(INSTALL_DATA) $doc/usersch4.tex \$(DOCDIR)
 	-\$(INSTALL_DATA) $doc/usersch5.tex \$(DOCDIR)
 	-\$(INSTALL_DATA) $doc/paricfg.tex  \$(DOCDIR)
-	-\$(INSTALL_DATA) $doc/libpari.dvi    \$(DOCDIR)
-	-\$(INSTALL_DATA) $doc/users.dvi    \$(DOCDIR)
-	-\$(INSTALL_DATA) $doc/tutorial.dvi \$(DOCDIR)
-	-\$(INSTALL_DATA) $doc/refcard.dvi  \$(DOCDIR)
-	-\$(INSTALL_DATA) $doc/refcard.ps   \$(DOCDIR)
+	-\$(INSTALL_DATA) $doc/libpari.pdf  \$(DOCDIR)
+	-\$(INSTALL_DATA) $doc/users.pdf    \$(DOCDIR)
+	-\$(INSTALL_DATA) $doc/tutorial.pdf \$(DOCDIR)
+	-\$(INSTALL_DATA) $doc/refcard.pdf  \$(DOCDIR)
 
 install-examples:
 	-mkdir -p \$(EXDIR)
@@ -426,20 +385,9 @@ install-data:
 	   done; \
 	 fi
 
-install-lib-sta: \$(LIBPARI_STA)
+install-lib: \$(LIBPARI)
 	-mkdir -p \$(LIBDIR)
-	-\$(RM) \$(LIBDIR)/\$(LIBPARI_STA)
-	\$(INSTALL_DATA) \$(LIBPARI_STA) \$(LIBDIR)/\$(LIBPARI_STA)
-
-install-lib-dyn-base:
-	-mkdir -p \$(LIBDIR)
-	-\$(RM) \$(LIBDIR)/\$(LIBPARI_DYN) \$(LIBDIR)/\$(LIBPARI_SONAME) \$(LIBDIR)/\$(LIBPARI_SO)
-	\$(INSTALL_PROGRAM) \$(LIBPARI_DYN) \$(LIBDIR)/\$(LIBPARI_DYN)
-install-lib-dyn-link: install-lib-dyn-base
-	-if test "\$(LIBPARI_SONAME)" != "\$(LIBPARI_SO)"; then \
-	  \$(LN) \$(LIBPARI_DYN) \$(LIBDIR)/\$(LIBPARI_SONAME);\
-	  \$(LN) \$(LIBPARI_DYN) \$(LIBDIR)/\$(LIBPARI_SO); fi
-install-lib-dyn: \$(LIBPARI_DYN) install-lib-dyn-link
+	\$(LIBTOOL) --mode=install \$(BSD_INSTALL_LIB) \$(LIBPARI) \$(LIBDIR)/
 
 pariinl.h: parilvl0.h parilvl1.h
 	cat parilvl0.h parilvl1.h > pariinl.h
@@ -462,63 +410,13 @@ dotest-$i::
 EOT
 done
 
-if test -z "$DLLD"; then
-  cat >> $file << EOT
-
-\$(LIBPARI_DYN)::
-	@echo "Configure could not find a way to build a shared library on this machine"
-
-EOT
-else
-  if test -n "$export_file"; then
-    cat >> $file << EOT
-
-EXPORT_FILE_BASE = $src/systems/os2/pari.def.base
-VERSION_VERBOSE = $pari_release_verbose
-
-\$(EXPORT_FILE): \$(OBJS) \$(EXPORT_FILE_BASE)
-	cat \$(EXPORT_FILE_BASE) | sed 's/<DLL_BASE>/\$(DLLIBPARI)/' | sed 's/<VENDOR>/pari.math.u-bordeaux.fr\//' | sed 's/<VERSION>/\$(VERSION_VERBOSE)/' | sed 's/<DESCR>/GP\/PARI compiled with \$(CFLAGS)/' > \$@
-	\$(EXPORT_CREATE) \$(OBJS) >> \$@
-
-\$(DLLIBPARI)\$(_A): \$(EXPORT_FILE)
-	\$(EXPORT_LIB_CREATE) -o \$@ \$(EXPORT_FILE)
-
-EOT
-  fi
-  cat >> $file << EOT
-
-gp-dyn: $add_funclist \$(OBJSGP) \$(LIBPARI_DYN) \$(EXPORT_LIB)
-	\$(RM) \$@
-	\$(LD) -o \$@ \$(LDFLAGS) \$(OBJSGP) \$(RUNPTH) \$(TOPLDDYN) \$(LDDYN) \$(PLOTLIBS) \$(LIBS)
-	$postconfig gp-dyn
-
-\$(LIBPARI_DYN): $add_funclist \$(OBJS) \$(EXPORT_FILE)
-	-\$(RM) \$(LIBPARI_DYN)
-	\$(DLLD_IGNORE)\$(DLLD) -o \$(LIBPARI_DYN) \$(DLLDFLAGS) \$(OBJS) \$(EXTRADLLDFLAGS) \$(EXPORT_FILE)
-	-if test "\$(LIBPARI_DYN)" != "\$(LIBPARI_SO)"; then \
-	  \$(RM) \$(LIBPARI_SO);\
-	  \$(LN) \$(LIBPARI_DYN) \$(LIBPARI_SO); fi
-	-if test "\$(LIBPARI_DYN)" != "\$(LIBPARI_SONAME)"; then \
-	  \$(RM) \$(LIBPARI_SONAME);\
-	  \$(LN) \$(LIBPARI_DYN) \$(LIBPARI_SONAME); fi
-EOT
-fi
-
-if test -n "$emacs"; then
-  cat >> $file << EOT
-elc:
-	@echo "Byte-Compiling elisp files..."
-	-cd $emx; $emacs -batch \
-	   --eval '(setq load-path (append (list ".") load-path))' \
-	   -f batch-byte-compile *.el
-
-$install_emacs_files: elc
+cat >> $file << EOT
+$install_emacs_files:
 	-mkdir -p \$(EMACSDIR)
 	-cd $emx; for f in *.elc *.el pariemacs.txt; do \
 	  \$(INSTALL_DATA) \$\$f \$(EMACSDIR); \
 	done
 EOT
-fi
 
 if test -n "$add_funclist"; then
   cat >> $file << EOT
