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)