File mosml-fix_dynlibs.patch of Package mosml

--- src/dynlibs/crypt/Makefile.orig
+++ src/dynlibs/crypt/Makefile
@@ -13,7 +13,7 @@ crypt.o: crypt.c
 	$(CC) $(CFLAGS) -c -o crypt.o crypt.c
 
 libcrypt.so: crypt.o
-	$(DYNLD) -lcrypt -o libcrypt.so crypt.o
+	$(DYNLD) 		 -o libcrypt.so crypt.o -lcrypt
 #	$(DYNLD)         -o libcrypt.so crypt.o
 
 clean:
--- src/dynlibs/mgd/Makefile.orig
+++ src/dynlibs/mgd/Makefile
@@ -5,7 +5,7 @@
 
 # Where to find gd header file and compiled library
 
-GDDIR=${HOME}/c/gd-1.7.3
+GDDIR=/usr/include
 
 include ../../Makefile.inc
 
@@ -24,7 +24,7 @@ mgd.o: mgd.c
 	$(CC) $(CFLAGS) -c -o mgd.o mgd.c
 
 libmgd.so: mgd.o
-	$(DYNLD) -o libmgd.so mgd.o ${GDDIR}/libgd.a -L/usr/lib -lpng -lz
+	$(DYNLD) -o libmgd.so mgd.o -lgd -lpng -lz
 #	$(DYNLD) -o libmgd.so mgd.o ${GDDIR}/libgd.a -L/usr/X11R6/lib -lpng -lz
 #	$(DYNLD) -o libmgd.so mgd.o ${GDDIR}/libgd.a -R/pack/libs/lib -L/pack/libs/lib -lpng -lz
 
@@ -32,10 +32,10 @@ test: Graphs.uo
 	mosml testgdimage.sml
 
 install:
-	${INSTALL_DATA} libmgd.so $(LIBDIR)
+	${INSTALL_DATA} libmgd.so $(DESTDIR)$(LIBDIR)
 
 uninstall:
-	${UNINSTALL_DATA} $(LIBDIR)/libmgd.so
+	${UNINSTALL_DATA} $(DESTDIR)$(LIBDIR)/libmgd.so
 
 clean:
 	rm -f *.o
--- src/dynlibs/mgd/mgd.c.orig
+++ src/dynlibs/mgd/mgd.c
@@ -23,6 +23,8 @@
 
 #include <alloc.h>		/* For alloc_tuple, ...      */
 #include <mlvalues.h>		/* For Val_unit, Long_val, String_val, ... */
+#include <fail.h>
+#include <memory.h>
 
 /* Representation of images.  
 
@@ -124,7 +126,7 @@ EXTERNML value mgd_tostdoutpng(value im)
 #ifdef WIN32
   fflush(stdout);
 #else
-  flush(stdout);
+  fflush(stdout);
 #endif
   return Val_unit;
 }
--- src/dynlibs/mgdbm/Makefile.orig
+++ src/dynlibs/mgdbm/Makefile
@@ -5,10 +5,10 @@
 
 # Where to find GDBM header file and compiled library
 
-GDBMLIBDIR=${HOME}/c/gdbm-1.7.3
-GDBMINCDIR=${HOME}/c/gdbm-1.7.3
+#GDBMLIBDIR=${HOME}/c/gdbm-1.7.3
+#GDBMINCDIR=${HOME}/c/gdbm-1.7.3
 #GDBMLIBDIR=/usr/lib
-#GDBMINCDIR=/usr/include
+GDBMINCDIR=/usr/include
 
 include ../../Makefile.inc
 
@@ -19,16 +19,16 @@ BASELIBS=-lm -ldl
 all: libmgdbm.so
 
 install:
-	${INSTALL_DATA} libmgdbm.so $(LIBDIR)
+	${INSTALL_DATA} libmgdbm.so $(DESTDIR)$(LIBDIR)
 
 uninstall:
-	${UNINSTALL_DATA} $(LIBDIR)/libmgdbm.so
+	${UNINSTALL_DATA} $(DESTDIR)$(LIBDIR)/libmgdbm.so
 
 mgdbm.o: mgdbm.c
 	$(CC) $(CFLAGS) -c -o mgdbm.o mgdbm.c 
 
 libmgdbm.so: mgdbm.o
-	$(DYNLD) -o libmgdbm.so mgdbm.o ${GDBMLIBDIR}/libgdbm.a
+	$(DYNLD) -o libmgdbm.so mgdbm.o -lgdbm
 
 test:
 	mosml -P full testgdbm.sml
--- src/dynlibs/mgdbm/mgdbm.c.orig
+++ src/dynlibs/mgdbm/mgdbm.c
@@ -67,7 +67,7 @@ value string_datum(datum val)
 
 /* Raise Fail with an argument in case of a fatal error: */
 
-void mgdbm_fatal(char *msg)
+void mgdbm_fatal(const char *msg)
 {
   char buf[256] = "Gdbm error: ";
   strcat(buf, msg);
--- src/dynlibs/mpq/Makefile.orig
+++ src/dynlibs/mpq/Makefile
@@ -7,10 +7,10 @@
 # Note: Unix distributions vary widely in the PGSQLLIBDIR 
 #       and PGSQLINCDIR locations
 
-PGSQLLIBDIR=/usr/lib
-PGSQLINCDIR=/usr/include/postgresql
 #PGSQLLIBDIR=/usr/lib
-#PGSQLINCDIR=/usr/include/pgsql
+#PGSQLINCDIR=/usr/include/postgresql
+#PGSQLLIBDIR=/usr/lib
+PGSQLINCDIR=/usr/include/pgsql
 #PGSQLLIBDIR=/usr/local/pgsql/lib
 #PGSQLINCDIR=/usr/local/pgsql/include
 #PGSQLLIBDIR=/usr/lib/pgsql/lib
@@ -36,14 +36,14 @@ mpq.o: mpq.c
 
 libmpq.so: mpq.o
 # Some recent Linux distributions need this:
-	$(DYNLD) -lcrypt -o libmpq.so mpq.o ${PGSQLLIBDIR}/libpq.a
+	$(DYNLD) -lcrypt -o libmpq.so mpq.o -lpq
 #	$(DYNLD) -o libmpq.so mpq.o ${PGSQLLIBDIR}/libpq.a
 
 install:
-	${INSTALL_DATA} libmpq.so $(LIBDIR)
+	${INSTALL_DATA} libmpq.so $(DESTDIR)$(LIBDIR)
 
 uninstall:
-	${UNINSTALL_DATA} $(LIBDIR)/libmpq.so
+	${UNINSTALL_DATA} $(DESTDIR)$(LIBDIR)/libmpq.so
 
 test:
 	mosml testpsql.sml
--- src/dynlibs/mmysql/mmysql.c.orig
+++ src/dynlibs/mmysql/mmysql.c
@@ -3,11 +3,11 @@
    sestoft@dina.kvl.dk 1999-08-07, 2000-05-30, 2002-07-25 */
 
 #include <stdlib.h>
+#include <stdio.h>
+#include <string.h>
 
 #ifdef WIN32
 #include <windows.h>
-#include <stdio.h>
-#include <string.h>
 #endif
 
 /* Access to the camlrunm/Moscow ML runtime data representation: */
@@ -76,9 +76,11 @@ void dbresult_finalize(value dbresval)
   MYSQL_ROW_OFFSET* index = DBresultindex_val(dbresval);
   if (dbres != NULL) {
     mysql_free_result(dbres);
-    DBresult_val(dbresval) = NULL;
+    //DBresult_val(dbresval) = NULL;
+    dbres = NULL;
     stat_free((char*)index);
-    DBresultindex_val(dbresval) = NULL;
+    //DBresultindex_val(dbresval) = NULL;
+    index = NULL;
   }
 }
 
@@ -464,6 +466,8 @@ EXTERNML value mysql_setdb(value args)
     return (value)(dbconn_alloc(mysql));
   }
 #endif
+
+  return (value)NULL;
 }
 
 /* ML type : dbconn_ -> string -> dbresult_ */
@@ -475,6 +479,8 @@ EXTERNML value db_exec(value conn, value
     MYSQL_RES *dbres = mysql_store_result(DBconn_val(conn));
     return dbresult_alloc(dbres); 
   }
+
+  return (value)NULL;
 }
 
 /* The function below must agree with the order of the constructors in
--- src/dynlibs/mmysql/Makefile.orig
+++ src/dynlibs/mmysql/Makefile
@@ -13,7 +13,7 @@ MYSQLINCDIR=/usr/include/mysql
 include ../../Makefile.inc
 
 OPTS=-fno-defer-pop
-CFLAGS= -Dunix -O2 $(OPTS) -I$(INCDIR) -I ${MYSQLINCDIR}
+CFLAGS= -Dunix -O2 $(OPTS) $(ADDDYNLIBCFLAGS) -I$(INCDIR) -I ${MYSQLINCDIR}
 
 MOSMLTOOLS=camlrunm $(MOSMLHOME)/tools
 MOSMLC=mosmlc -c
@@ -31,10 +31,10 @@ libmmysql.so: mmysql.o
 #	$(DYNLD) -o libmmysql.so mmysql.o -L${MYSQLLIBDIR} -lmysqlclient
 
 install:
-	${INSTALL_DATA} libmmysql.so $(LIBDIR)
+	${INSTALL_DATA} libmmysql.so $(DESTDIR)$(LIBDIR)
 
 uninstall:
-	${UNINSTALL_DATA} $(LIBDIR)/libmmysql.so
+	${UNINSTALL_DATA} $(DESTDIR)$(LIBDIR)/libmmysql.so
 
 test:
 	mosml testmysql.sml
--- src/dynlibs/mpq/mpq.c.orig
+++ src/dynlibs/mpq/mpq.c
@@ -2,6 +2,7 @@
    sestoft@dina.kvl.dk 1998-10-29, 1998-11-04 */
 
 #include <stdlib.h>
+#include <string.h>
 
 /* Access to the camlrunm/Moscow ML runtime data representation: */
 
@@ -216,6 +217,8 @@ EXTERNML value pq_resultstatus(value pgr
   default: 
     failwith("mpq:pg_resultstatus: internal error");
   }
+
+  return (value)NULL;
 }
 
 /* ML type : pgresult_ -> int */
--- src/dynlibs/mregex/Makefile.orig
+++ src/dynlibs/mregex/Makefile
@@ -24,10 +24,10 @@ libmregex.so: mregex.o
 	$(DYNLD) -o libmregex.so regex-0.12/regex.o mregex.o 
 
 install:
-	${INSTALL_DATA} libmregex.so $(LIBDIR)
+	${INSTALL_DATA} libmregex.so $(DESTDIR)$(LIBDIR)
 
 uninstall:
-	${UNINSTALL_DATA} $(LIBDIR)/libmregex.so
+	${UNINSTALL_DATA} $(DESTDIR)$(LIBDIR)/libmregex.so
 
 test:
 	mosml testregex.sml
--- src/dynlibs/mregex/regex-0.12/configure.in.orig
+++ src/dynlibs/mregex/regex-0.12/configure.in
@@ -20,4 +20,4 @@ AC_CONST
 
 AC_PREFIX(gcc)
 
-AC_OUTPUT(Makefile doc/Makefile test/Makefile)
+AC_OUTPUT(Makefile)
openSUSE Build Service is sponsored by