aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rwxr-xr-xconfigure3
-rw-r--r--configure.ac3
-rw-r--r--configure.ac.pamphlet3
-rw-r--r--src/ChangeLog32
-rw-r--r--src/clef/Makefile.in8
-rw-r--r--src/clef/edible.c1
-rw-r--r--src/graph/view2D/Makefile.in3
-rw-r--r--src/graph/view2D/main2d.c1
-rw-r--r--src/graph/view3D/Makefile.in3
-rw-r--r--src/graph/view3D/main3d.c1
-rw-r--r--src/graph/view3D/testcol.c1
-rw-r--r--src/graph/viewAlone/Makefile.in3
-rw-r--r--src/graph/viewman/Makefile.in3
-rw-r--r--src/graph/viewman/sselect.c1
-rw-r--r--src/graph/viewman/viewman.c1
-rw-r--r--src/hyper/Makefile.in3
-rw-r--r--src/hyper/htinp.c1
-rw-r--r--src/hyper/hyper.c2
-rw-r--r--src/hyper/spadbuf.c1
-rw-r--r--src/hyper/spadint.c1
-rw-r--r--src/include/bsdsignal.H11
-rw-r--r--src/include/bsdsignal.h70
-rw-r--r--src/include/cfuns-c.H17
-rw-r--r--src/include/cfuns.h49
-rw-r--r--src/include/sockio.h139
-rw-r--r--src/lib/Makefile.in24
-rw-r--r--src/lib/bsdsignal.c6
-rw-r--r--src/lib/cfuns-c.c18
-rw-r--r--src/lib/fnct_key.c1
-rw-r--r--src/lib/sockio-c.c157
-rw-r--r--src/lisp/Makefile.in7
-rw-r--r--src/sman/Makefile.in3
-rw-r--r--src/sman/session.c1
-rw-r--r--src/sman/sman.c1
-rw-r--r--src/sman/spadclient.c1
36 files changed, 323 insertions, 242 deletions
diff --git a/ChangeLog b/ChangeLog
index 36019862..f2c812e3 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2008-03-15 Gabriel Dos Reis <gdr@cs.tamu.edu>
+
+ * configure.ac.pamphlet (axiom_c_runtime): Don't include core, as
+ it is always built into libopen-axiom-core.
+
2008-02-17 Gabriel Dos Reis <gdr@cs.tamu.edu>
* Makefile.pamphlet (install): Tidy.
diff --git a/configure b/configure
index 931db1d5..b743a79e 100755
--- a/configure
+++ b/configure
@@ -20780,8 +20780,7 @@ fi
# FIXME: Move this out of here.
-# The core runtime is always built.
-axiom_c_runtime=core
+axiom_c_runtime=
diff --git a/configure.ac b/configure.ac
index ab152548..80572936 100644
--- a/configure.ac
+++ b/configure.ac
@@ -304,8 +304,7 @@ AC_SUBST(axiom_fasl_type)
AC_SUBST(axiom_all_prerequisites)
# FIXME: Move this out of here.
-# The core runtime is always built.
-axiom_c_runtime=core
+axiom_c_runtime=
AC_SUBST(axiom_c_runtime)
AC_CHECK_HEADERS([signal.h],
diff --git a/configure.ac.pamphlet b/configure.ac.pamphlet
index 4f5667ff..03c8a06a 100644
--- a/configure.ac.pamphlet
+++ b/configure.ac.pamphlet
@@ -1192,8 +1192,7 @@ esac
<<build utils>>
# FIXME: Move this out of here.
-# The core runtime is always built.
-axiom_c_runtime=core
+axiom_c_runtime=
AC_SUBST(axiom_c_runtime)
<<C headers and libraries>>
diff --git a/src/ChangeLog b/src/ChangeLog
index 2bfe9404..eaeebd10 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,5 +1,37 @@
2008-03-15 Gabriel Dos Reis <gdr@cs.tamu.edu>
+ * include/cfuns.h (findString): Rename from include/cfuns-c.H1.
+ Make DLL-aware.
+ * include/open-axiom.h: New.
+ * include/sockio.h: Make DLL-aware.
+ * include/bsdsignal.H1: Fold content into include/bsdsignal.h.
+ Remove.
+ * lib/bsdsignal.c: Don't include bsdsignal.H1
+ * lib/fnct_key.c: Likewise.
+ * lib/sockio-c.c: Likewise.
+ * lib/Makefile.in (other_SOURCES): Remove.
+ (other_objects): Likewise.
+ (pamphlets): Likewise.
+ (clean-local): Don't remove source files.
+ (libopen_axiom_core_la_SOURCES): New.
+ (libopen_axiom_core_la_objects): Likewise.
+ (stamp): Require $(axiom_target_libdir)/libopen-axiom-core.la too.
+ * graph/view2D/main2d.c: Likewise.
+ * clef/edible.c: Likewise.
+ * graph/view3D/main3d.c: Likewise.
+ * graph/view3D/testcol.c: Likewise.
+ * graph/viewman/sselect.c: Likewise.
+ * graph/viewman/viewman.c: Likewise.
+ * hyper/htinp.c: Likewise.
+ * hyper/hyper.c: Likewise.
+ * hyper/spadbuf.c: Likewise.
+ * hyper/spadint.c: Likewise.
+ * sman/session.c: Likewise.
+ * sman/sman.c: Likewise.
+ * sman/spadclient.c: Likewise.
+
+2008-03-15 Gabriel Dos Reis <gdr@cs.tamu.edu>
+
* algebra/polset.spad.pamphlet (exactQuo$PSETCAT-): Don't
conditionally define as local function. Update cached Lisp
translation.
diff --git a/src/clef/Makefile.in b/src/clef/Makefile.in
index be89672c..65d39a42 100644
--- a/src/clef/Makefile.in
+++ b/src/clef/Makefile.in
@@ -1,4 +1,4 @@
-# Copyright (C) 2007, Gabriel Dos Reis.
+# Copyright (C) 2007-2008, Gabriel Dos Reis.
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
@@ -39,13 +39,13 @@ clef_SOURCES = edible.c
clef_objects = $(clef_SOURCES:.c=.lo)
-clef_LDADD = $(axiom_target_libdir)/libspad.la
+clef_LDADD = $(axiom_target_libdir)/libspad.la \
+ $(axiom_target_libdir)/libopen-axiom-core.la
+
clef_DEPENDENCIES =
subdir = src/clef/
-pamphlets = Makefile.pamphlet
-
.PHONY: all all-clef
all: all-ax
diff --git a/src/clef/edible.c b/src/clef/edible.c
index bfe76a91..29a1b2fe 100644
--- a/src/clef/edible.c
+++ b/src/clef/edible.c
@@ -58,7 +58,6 @@
#include "com.h"
#include "bsdsignal.h"
-#include "bsdsignal.H1"
#include "openpty.H1"
#include "prt.H1"
#include "edin.H1"
diff --git a/src/graph/view2D/Makefile.in b/src/graph/view2D/Makefile.in
index 905d8179..cc9b80cf 100644
--- a/src/graph/view2D/Makefile.in
+++ b/src/graph/view2D/Makefile.in
@@ -48,7 +48,8 @@ view2D_objects = $(view2D_SOURCES:.c=.lo)
Gfun_objects = ../Gdraws/Gfun.lo
-view2D_LDADD = $(axiom_target_libdir)/libspad.la
+view2D_LDADD = $(axiom_target_libdir)/libspad.la \
+ $(axiom_target_libdir)/libopen-axiom-core.la
view2D_DEPENDENCIES = $(Gfun_objects)
diff --git a/src/graph/view2D/main2d.c b/src/graph/view2D/main2d.c
index 8ff6b8e7..c7ade472 100644
--- a/src/graph/view2D/main2d.c
+++ b/src/graph/view2D/main2d.c
@@ -45,7 +45,6 @@
#include "header2.h"
#include "bsdsignal.h"
#include "globals2.h"
-#include "bsdsignal.H1"
#include "all_2d.H1"
#include "Gfun.H1"
#include "util.H1"
diff --git a/src/graph/view3D/Makefile.in b/src/graph/view3D/Makefile.in
index e8fc9f44..edd6a2e9 100644
--- a/src/graph/view3D/Makefile.in
+++ b/src/graph/view3D/Makefile.in
@@ -57,7 +57,8 @@ view3D_objects = $(addprefix $(builddir)/, $(view3D_SOURCES:.c=.lo))
Gfun_objects = ../Gdraws/Gfun.lo
-view3D_LDADD = $(axiom_target_libdir)/libspad.la
+view3D_LDADD = $(axiom_target_libdir)/libspad.la \
+ $(axiom_target_libdir)/libopen-axiom-core.la
view3D_DEPENDENCIES = $(Gfun_objects)
subdir = src/graph/view3D/
diff --git a/src/graph/view3D/main3d.c b/src/graph/view3D/main3d.c
index 2197538e..7929199b 100644
--- a/src/graph/view3D/main3d.c
+++ b/src/graph/view3D/main3d.c
@@ -47,7 +47,6 @@
#include "process.h"
#include "bsdsignal.h"
-#include "bsdsignal.H1"
#include "util.H1"
#include "Gfun.H1"
#include "XSpadFill.H1"
diff --git a/src/graph/view3D/testcol.c b/src/graph/view3D/testcol.c
index ee61574e..a48cb9c8 100644
--- a/src/graph/view3D/testcol.c
+++ b/src/graph/view3D/testcol.c
@@ -47,7 +47,6 @@
#include "process.h"
#include "bsdsignal.h"
-#include "bsdsignal.H1"
#include "util.H1"
#include "Gfun.H1"
#include "XSpadFill.H1"
diff --git a/src/graph/viewAlone/Makefile.in b/src/graph/viewAlone/Makefile.in
index 7cb466fa..a5b12473 100644
--- a/src/graph/viewAlone/Makefile.in
+++ b/src/graph/viewAlone/Makefile.in
@@ -44,7 +44,8 @@ viewAlone_SOURCES = viewAlone.c spoonComp.c spoon2D.c
viewAlone_objects = $(viewAlone_SOURCES:.c=.lo)
-viewAlone_LDADD = $(axiom_target_libdir)/libspad.la
+viewAlone_LDADD = $(axiom_target_libdir)/libspad.la \
+ $(axiom_target_libdir)/libopen-axiom-core.la
viewAlone_DEPENDENCIES =
subdir = src/graph/viewAlone/
diff --git a/src/graph/viewman/Makefile.in b/src/graph/viewman/Makefile.in
index cc857bc6..066ff0a5 100644
--- a/src/graph/viewman/Makefile.in
+++ b/src/graph/viewman/Makefile.in
@@ -53,7 +53,8 @@ viewman_headers = $(srcdir)/viewman.h \
viewman_DEPENDENCIES =
-viewman_LDFLAGS = $(axiom_target_libdir)/libspad.la
+viewman_LDFLAGS = $(axiom_target_libdir)/libspad.la \
+ $(axiom_target_libdir)/libopen-axiom-core.la
subdir = src/graph/viewman/
diff --git a/src/graph/viewman/sselect.c b/src/graph/viewman/sselect.c
index 1cb584c5..a9b16528 100644
--- a/src/graph/viewman/sselect.c
+++ b/src/graph/viewman/sselect.c
@@ -46,7 +46,6 @@
#include "bsdsignal.h"
#include "sockio.h"
-#include "bsdsignal.H1"
#include "cleanup.H1"
#include "sselect.H1"
diff --git a/src/graph/viewman/viewman.c b/src/graph/viewman/viewman.c
index 63136731..441d0f7a 100644
--- a/src/graph/viewman/viewman.c
+++ b/src/graph/viewman/viewman.c
@@ -53,7 +53,6 @@
#include "bsdsignal.h"
-#include "bsdsignal.H1"
#include "util.H1"
#include "sockio.h"
#include "fun2D.H1"
diff --git a/src/hyper/Makefile.in b/src/hyper/Makefile.in
index 7f976173..45f22ac1 100644
--- a/src/hyper/Makefile.in
+++ b/src/hyper/Makefile.in
@@ -68,7 +68,8 @@ hypertex_SOURCES = addfile.c cond.c dialog.c display.c event.c extent1.c \
parse-paste.c parse-types.c ReadBitmap.c scrollbar.c \
show-types.c spadint.c titlebar.c
-libspad_la = $(axiom_target_libdir)/libspad.la
+libspad_la = $(axiom_target_libdir)/libspad.la \
+ $(axiom_target_libdir)/libopen-axiom-core.la
hypertex_objects = $(hypertex_SOURCES:.c=.lo)
hypertex_LDADD = $(libspad_la)
diff --git a/src/hyper/htinp.c b/src/hyper/htinp.c
index 5c129de8..2e43a6e4 100644
--- a/src/hyper/htinp.c
+++ b/src/hyper/htinp.c
@@ -50,7 +50,6 @@
#include "all_hyper_proto.H1"
#include "sockio.h"
-#include "bsdsignal.H1"
extern char **input_file_list;
extern int input_file_count;
diff --git a/src/hyper/hyper.c b/src/hyper/hyper.c
index 1b71b76e..ef00c891 100644
--- a/src/hyper/hyper.c
+++ b/src/hyper/hyper.c
@@ -64,7 +64,7 @@
#include "all_hyper_proto.H1"
#include "sockio.h"
-#include "bsdsignal.H1"
+
/*
* Here is a flag used to tell me whether I made a good connection to the
* menu server. Needed so I don't send spad commands when I should not
diff --git a/src/hyper/spadbuf.c b/src/hyper/spadbuf.c
index 42b3f482..f67c1519 100644
--- a/src/hyper/spadbuf.c
+++ b/src/hyper/spadbuf.c
@@ -57,7 +57,6 @@
#include "com.h"
#include "spadbuf.H1"
-#include "bsdsignal.H1"
#include "sockio.h"
#include "edin.H1"
#include "wct.H1"
diff --git a/src/hyper/spadint.c b/src/hyper/spadint.c
index da149b8d..8969ab34 100644
--- a/src/hyper/spadint.c
+++ b/src/hyper/spadint.c
@@ -49,7 +49,6 @@
#include "all_hyper_proto.H1"
#include "sockio.h"
-#include "bsdsignal.H1"
typedef struct sock_list { /* linked list of Sock */
diff --git a/src/include/bsdsignal.H1 b/src/include/bsdsignal.H1
deleted file mode 100644
index 621b9307..00000000
--- a/src/include/bsdsignal.H1
+++ /dev/null
@@ -1 +0,0 @@
-extern SignalHandlerFunc bsdSignal(int , SignalHandlerFunc , int );
diff --git a/src/include/bsdsignal.h b/src/include/bsdsignal.h
index e42e0fee..5b724bbf 100644
--- a/src/include/bsdsignal.h
+++ b/src/include/bsdsignal.h
@@ -1,44 +1,48 @@
/*
-Copyright (c) 1991-2002, The Numerical ALgorithms Group Ltd.
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are
-met:
-
- - Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
-
- - Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in
- the documentation and/or other materials provided with the
- distribution.
-
- - Neither the name of The Numerical ALgorithms Group Ltd. nor the
- names of its contributors may be used to endorse or promote products
- derived from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
-IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
-TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
-PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER
-OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
-EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
-PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
-LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ Copyright (C) 1991-2002, The Numerical Algorithms Group Ltd.
+ All rights reserved.
+ Copyright (C) 2007-2008, Gabriel Dos Reis.
+ All rights reserved.
+
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions are
+ met:
+
+ - Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+
+ - Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in
+ the documentation and/or other materials provided with the
+ distribution.
+
+ - Neither the name of The Numerical Algorithms Group Ltd. nor the
+ names of its contributors may be used to endorse or promote products
+ derived from this software without specific prior written permission.
+
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
+ IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+ TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
+ PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER
+ OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-#ifndef _BSDSIGNAL_H_
-#define _BSDSIGNAL_H_
+#ifndef OPENAXIOM_BSDSIGNAL_included
+#define OPENAXIOM_BSDSIGNAL_included
+#include "open-axiom.h"
#define RestartSystemCalls 1
#define DontRestartSystemCalls 0
typedef void (* SignalHandlerFunc)(int);
+OPENAXIOM_EXPORT SignalHandlerFunc bsdSignal(int, SignalHandlerFunc, int);
-#endif /* _BSDSIGNAL */
+#endif /* OPENAXIOM_BSDSIGNAL_included */
diff --git a/src/include/cfuns-c.H1 b/src/include/cfuns-c.H1
deleted file mode 100644
index cb580a64..00000000
--- a/src/include/cfuns-c.H1
+++ /dev/null
@@ -1,7 +0,0 @@
-extern int addtopath(char * );
-extern int directoryp(char * );
-extern int make_path_from_file(char * , char * );
-extern int writeablep(char * );
-extern int readablep(char * );
-extern long findString(char * , char * );
-extern int copyEnvValue(char * , char * );
diff --git a/src/include/cfuns.h b/src/include/cfuns.h
new file mode 100644
index 00000000..b4dcbb8b
--- /dev/null
+++ b/src/include/cfuns.h
@@ -0,0 +1,49 @@
+#ifndef OPENAXIOM_CFUNS_included
+#define OPENAXIOM_CFUNS_included
+
+/*
+ Copyright (C) 1991-2002, The Numerical ALgorithms Group Ltd.
+ All rights reserved.
+ Copyright (C) 2007-2008, Gabriel Dos Reis.
+ All rights resrved.
+
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions are
+ met:
+
+ - Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+
+ - Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in
+ the documentation and/or other materials provided with the
+ distribution.
+
+ - Neither the name of The Numerical ALgorithms Group Ltd. nor the
+ names of its contributors may be used to endorse or promote products
+ derived from this software without specific prior written permission.
+
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
+ IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+ TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
+ PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER
+ OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*/
+
+#include "open-axiom.h"
+
+OPENAXIOM_EXPORT int addtopath(char*);
+OPENAXIOM_EXPORT int directoryp(char*);
+OPENAXIOM_EXPORT int make_path_from_file(char*, char*);
+OPENAXIOM_EXPORT int writeablep(char*);
+OPENAXIOM_EXPORT int readablep(char*);
+OPENAXIOM_EXPORT long findString(char*, char*);
+OPENAXIOM_EXPORT int copyEnvValue(char*, char*);
+
+#endif /* OPENAXIOM_CFUNS_included */
diff --git a/src/include/sockio.h b/src/include/sockio.h
index 5b4f7d9f..aaa1c5f5 100644
--- a/src/include/sockio.h
+++ b/src/include/sockio.h
@@ -46,6 +46,7 @@
#endif
#include "axiom-c-macros.h"
+#include "open-axiom.h"
/* On Windows, a socket identifier is not a file descriptor. It is
represented by an integer type, but that integer type is not just
@@ -78,70 +79,70 @@ typedef struct {
} Sock;
-extern int get_int(Sock*);
-extern char* get_string(Sock*);
-extern double get_float(Sock*);
-extern Sock* connect_to_local_server(char*, int, int);
-extern int sread(Sock*, char*, int, char*);
-extern double plus_infinity(void);
-extern double minus_infinity(void);
-extern double NANQ(void);
-extern void sigpipe_handler(int);
-extern int wait_for_client_read(Sock*, char*, int, char*);
-extern int wait_for_client_write(Sock*, char*, int, char*);
-extern int swrite(Sock*, char*, int, char*);
-extern int sselect(int, fd_set*, fd_set*, fd_set*, void*);
-extern int fill_buf(Sock*, char*, int, char*);
-extern int sock_get_int(int);
-extern int get_ints(Sock*, int*, int);
-extern int sock_get_ints(int, int*, int);
-extern int send_int(Sock*, int);
-extern int sock_send_int(int, int);
-extern int send_ints(Sock*, int*, int);
-extern int sock_send_ints(int, int*, int);
-extern int send_string(Sock*, char*);
-extern int send_string_len(Sock*, char*, int);
-extern int sock_send_string(int, char*);
-extern int sock_send_string_len(int, char*, int);
-extern int send_strings(Sock*, char**, int);
-extern int sock_send_strings(int, char**, int);
-extern char* sock_get_string(int);
-extern char* get_string_buf(Sock*, char*, int);
-extern char* sock_get_string_buf(int, char*, int);
-extern int get_strings(Sock*, char**, int);
-extern int sock_get_strings(int, char**, int);
-extern int send_float(Sock*, double);
-extern int sock_send_float(int, double);
-extern int send_sfloats(Sock*, float*, int);
-extern int sock_send_sfloats(int, float*, int);
-extern int send_floats(Sock*, double*, int);
-extern int sock_send_floats(int, double*, int);
-extern double sock_get_float(int);
-extern int get_sfloats(Sock*, float*, int);
-extern int sock_get_sfloats(int, float*, int);
-extern int get_floats(Sock*, double*, int);
-extern int sock_get_floats(int, double*, int);
-extern int wait_for_client_kill(Sock*, int);
-extern int sock_get_remote_fd(int);
-extern int send_signal(Sock*, int);
-extern int sock_send_signal(int, int);
-extern int send_wakeup(Sock*);
-extern int sock_send_wakeup(int);
-extern Sock* connect_to_local_server_new(char*, int, int);
-extern void remote_stdio(Sock*);
-extern void init_purpose_table(void);
-extern int make_server_number(void);
-extern void close_socket(axiom_socket, char*);
-extern int make_server_name(char*, char*);
-extern int open_server(char*);
-extern int accept_connection(Sock*);
-extern void get_socket_type(Sock*);
-extern int sock_accept_connection(int);
-extern void redirect_stdio(Sock*);
-extern void init_socks(void);
-extern int server_switch(void);
-extern void flush_stdout(void);
-extern void print_line(char*);
+OPENAXIOM_EXPORT int get_int(Sock*);
+OPENAXIOM_EXPORT char* get_string(Sock*);
+OPENAXIOM_EXPORT double get_float(Sock*);
+OPENAXIOM_EXPORT Sock* connect_to_local_server(char*, int, int);
+OPENAXIOM_EXPORT int sread(Sock*, char*, int, char*);
+OPENAXIOM_EXPORT double plus_infinity(void);
+OPENAXIOM_EXPORT double minus_infinity(void);
+OPENAXIOM_EXPORT double NANQ(void);
+OPENAXIOM_EXPORT void sigpipe_handler(int);
+OPENAXIOM_EXPORT int wait_for_client_read(Sock*, char*, int, char*);
+OPENAXIOM_EXPORT int wait_for_client_write(Sock*, char*, int, char*);
+OPENAXIOM_EXPORT int swrite(Sock*, char*, int, char*);
+OPENAXIOM_EXPORT int sselect(int, fd_set*, fd_set*, fd_set*, void*);
+OPENAXIOM_EXPORT int fill_buf(Sock*, char*, int, char*);
+OPENAXIOM_EXPORT int sock_get_int(int);
+OPENAXIOM_EXPORT int get_ints(Sock*, int*, int);
+OPENAXIOM_EXPORT int sock_get_ints(int, int*, int);
+OPENAXIOM_EXPORT int send_int(Sock*, int);
+OPENAXIOM_EXPORT int sock_send_int(int, int);
+OPENAXIOM_EXPORT int send_ints(Sock*, int*, int);
+OPENAXIOM_EXPORT int sock_send_ints(int, int*, int);
+OPENAXIOM_EXPORT int send_string(Sock*, char*);
+OPENAXIOM_EXPORT int send_string_len(Sock*, char*, int);
+OPENAXIOM_EXPORT int sock_send_string(int, char*);
+OPENAXIOM_EXPORT int sock_send_string_len(int, char*, int);
+OPENAXIOM_EXPORT int send_strings(Sock*, char**, int);
+OPENAXIOM_EXPORT int sock_send_strings(int, char**, int);
+OPENAXIOM_EXPORT char* sock_get_string(int);
+OPENAXIOM_EXPORT char* get_string_buf(Sock*, char*, int);
+OPENAXIOM_EXPORT char* sock_get_string_buf(int, char*, int);
+OPENAXIOM_EXPORT int get_strings(Sock*, char**, int);
+OPENAXIOM_EXPORT int sock_get_strings(int, char**, int);
+OPENAXIOM_EXPORT int send_float(Sock*, double);
+OPENAXIOM_EXPORT int sock_send_float(int, double);
+OPENAXIOM_EXPORT int send_sfloats(Sock*, float*, int);
+OPENAXIOM_EXPORT int sock_send_sfloats(int, float*, int);
+OPENAXIOM_EXPORT int send_floats(Sock*, double*, int);
+OPENAXIOM_EXPORT int sock_send_floats(int, double*, int);
+OPENAXIOM_EXPORT double sock_get_float(int);
+OPENAXIOM_EXPORT int get_sfloats(Sock*, float*, int);
+OPENAXIOM_EXPORT int sock_get_sfloats(int, float*, int);
+OPENAXIOM_EXPORT int get_floats(Sock*, double*, int);
+OPENAXIOM_EXPORT int sock_get_floats(int, double*, int);
+OPENAXIOM_EXPORT int wait_for_client_kill(Sock*, int);
+OPENAXIOM_EXPORT int sock_get_remote_fd(int);
+OPENAXIOM_EXPORT int send_signal(Sock*, int);
+OPENAXIOM_EXPORT int sock_send_signal(int, int);
+OPENAXIOM_EXPORT int send_wakeup(Sock*);
+OPENAXIOM_EXPORT int sock_send_wakeup(int);
+OPENAXIOM_EXPORT Sock* connect_to_local_server_new(char*, int, int);
+OPENAXIOM_EXPORT void remote_stdio(Sock*);
+OPENAXIOM_EXPORT void init_purpose_table(void);
+OPENAXIOM_EXPORT int make_server_number(void);
+OPENAXIOM_EXPORT void close_socket(axiom_socket, char*);
+OPENAXIOM_EXPORT int make_server_name(char*, char*);
+OPENAXIOM_EXPORT int open_server(char*);
+OPENAXIOM_EXPORT int accept_connection(Sock*);
+OPENAXIOM_EXPORT void get_socket_type(Sock*);
+OPENAXIOM_EXPORT int sock_accept_connection(int);
+OPENAXIOM_EXPORT void redirect_stdio(Sock*);
+OPENAXIOM_EXPORT void init_socks(void);
+OPENAXIOM_EXPORT int server_switch(void);
+OPENAXIOM_EXPORT void flush_stdout(void);
+OPENAXIOM_EXPORT void print_line(char*);
#define MaxClients 150
@@ -179,11 +180,11 @@ extern void print_line(char*);
/* table of dedicated socket types */
-extern Sock *purpose_table[];
-extern Sock server[];
-extern Sock clients[];
-extern fd_set socket_mask;
-extern fd_set server_mask;
+OPENAXIOM_EXPORT extern Sock *purpose_table[];
+OPENAXIOM_EXPORT extern Sock server[];
+OPENAXIOM_EXPORT extern Sock clients[];
+OPENAXIOM_EXPORT extern fd_set socket_mask;
+OPENAXIOM_EXPORT extern fd_set server_mask;
#endif /* OPENAXIOM_SOCKIO_included */
diff --git a/src/lib/Makefile.in b/src/lib/Makefile.in
index 89b68ea3..7c1b708d 100644
--- a/src/lib/Makefile.in
+++ b/src/lib/Makefile.in
@@ -1,4 +1,4 @@
-# Copyright (C) 2007, Gabriel Dos Reis.
+# Copyright (C) 2007-2008, Gabriel Dos Reis.
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
@@ -47,16 +47,12 @@ libspad_la_SOURCES = $(foreach comp, \
$(addsuffix _SOURCES, @axiom_c_runtime@), \
$($(comp)))
-other_SOURCES = cfuns-c.c
-
unused_SOURCES = emupty.c
+libopen_axiom_core_la_SOURCES = $(core_SOURCES)
+libopen_axiom_core_la_objects = $(libopen_axiom_core_la_SOURCES:.c=.lo)
libspad_la_objects = $(libspad_la_SOURCES:.c=.lo)
-other_objects = $(other_SOURCES:.c=.$(OBJEXT))
-
-pamphlets = Makefile.pamphlet
-
subdir = src/lib/
.PHONY: all all-lib
@@ -66,10 +62,17 @@ subdir = src/lib/
all: all-ax
all-ax all-lib: stamp
-stamp: $(axiom_target_libdir)/libspad.la
+stamp: $(axiom_target_libdir)/libopen-axiom-core.la \
+ $(axiom_target_libdir)/libspad.la
rm -f stamp
$(STAMP) stamp
+$(axiom_target_libdir)/libopen-axiom-core.la: \
+ $(libopen_axiom_core_la_objects)
+ $(mkinstalldirs) $(axiom_target_libdir)
+ $(LIBTOOL) --mode=link $(CC) -module -o $@ \
+ $(libopen_axiom_core_la_objects)
+
$(axiom_target_libdir)/libspad.la: $(libspad_la_objects)
$(mkinstalldirs) $(axiom_target_libdir)
$(LIBTOOL) --mode=link $(CC) -o $@ $(libspad_la_objects) \
@@ -78,7 +81,8 @@ $(axiom_target_libdir)/libspad.la: $(libspad_la_objects)
.PRECIOUS: %.$(OBJEXT) %.lo
%.lo: %.c $(axiom_c_macros_h)
- $(COMPILE) -o $@ $(CCF) $(axiom_includes) $(AXIOM_X11_CFLAGS) $<
+ $(COMPILE) -o $@ $(CCF) -DOPENAXIOM_BUILD_DLL \
+ $(axiom_includes) $(AXIOM_X11_CFLAGS) $<
# This is a support library, so it does not change often and
# we don't need to remove the produced objects in mostlyclean.
@@ -87,9 +91,9 @@ mostlyclean-local:
@rm -f *.lo *.$(OBJEXT)
clean-local: mostlyclean-local
+ @$(LIBTOOL) --mode=clean $(axiom_target_libdir)/libopen-axiom-core.la
@$(LIBTOOL) --mode=clean $(axiom_target_libdir)/libspad.la
@rm -f $(other_objects)
- @rm -f $(libspad_la_SOURCES) $(other_SOURCES)
@rm -fr .libs _libs
@rm -f stamp
diff --git a/src/lib/bsdsignal.c b/src/lib/bsdsignal.c
index 3454507f..7bf89d94 100644
--- a/src/lib/bsdsignal.c
+++ b/src/lib/bsdsignal.c
@@ -32,7 +32,6 @@
*/
#include "axiom-c-macros.h"
-#include "bsdsignal.h"
#if defined(MACOSXplatform)
#include "/usr/include/signal.h"
@@ -40,10 +39,9 @@
#include <signal.h>
#endif
-#include "bsdsignal.H1"
-
+#include "bsdsignal.h"
-SignalHandlerFunc
+OPENAXIOM_EXPORT SignalHandlerFunc
bsdSignal(int sig, SignalHandlerFunc action, int restartSystemCall)
{
#if HAVE_DECL_SIGACTION
diff --git a/src/lib/cfuns-c.c b/src/lib/cfuns-c.c
index 47485408..7ed80551 100644
--- a/src/lib/cfuns-c.c
+++ b/src/lib/cfuns-c.c
@@ -48,7 +48,7 @@
# include <windows.h>
#endif
-#include "cfuns-c.H1"
+#include "cfuns.h"
/* Most versions of Windows don't have the POSIX functions getuid(),
geteuid(), getgid(), and getegid(). The following definitions are
@@ -71,7 +71,7 @@
# define getegid() getgid()
#endif
-int
+OPENAXIOM_EXPORT int
addtopath(char *dir)
{
char *path, *newpath;
@@ -95,7 +95,7 @@ addtopath(char *dir)
*/
-int
+OPENAXIOM_EXPORT int
directoryp(char *path)
{
struct stat buf;
@@ -104,7 +104,7 @@ directoryp(char *path)
return code == -1 ? -1 : S_ISDIR(buf.st_mode);
}
-int
+OPENAXIOM_EXPORT int
make_path_from_file(char *s, char *t)
{
char *pos = "";
@@ -184,7 +184,7 @@ axiom_has_write_access(const struct stat* file_info)
2 if the file does not exists but process has write
has write access to the dirname of path. */
-int
+OPENAXIOM_EXPORT int
writeablep(char *path)
{
struct stat buf;
@@ -211,7 +211,7 @@ writeablep(char *path)
0 if the file exists but process has no read access.
1 if the file exists and read access is granted. */
-int
+OPENAXIOM_EXPORT int
readablep(char *path)
{
struct stat buf;
@@ -238,7 +238,7 @@ readablep(char *path)
-long
+OPENAXIOM_EXPORT long
findString(char *file, char *string)
{
int nstring, charpos;
@@ -258,7 +258,7 @@ findString(char *file, char *string)
}
-int
+OPENAXIOM_EXPORT int
copyEnvValue(char *varName, char *buffer)
{
char *s;
@@ -272,7 +272,7 @@ copyEnvValue(char *varName, char *buffer)
/* Return 1 if the file descriptor FD, as viewed by the Core Executable,
is attached to a terminal. */
-int
+OPENAXIOM_EXPORT int
std_stream_is_terminal(int fd)
{
assert(fd > -1 && fd < 3);
diff --git a/src/lib/fnct_key.c b/src/lib/fnct_key.c
index a44f0bf5..c9240fd6 100644
--- a/src/lib/fnct_key.c
+++ b/src/lib/fnct_key.c
@@ -51,7 +51,6 @@
#include "bsdsignal.h"
-#include "bsdsignal.H1"
#include "fnct_key.H1"
#include "prt.H1"
#include "edin.H1"
diff --git a/src/lib/sockio-c.c b/src/lib/sockio-c.c
index 9ad31365..ec50a3f6 100644
--- a/src/lib/sockio-c.c
+++ b/src/lib/sockio-c.c
@@ -2,7 +2,7 @@
Copyright (c) 1991-2002, The Numerical Algorithms Group Ltd.
All rights reserved.
- Copyright (C) 2007, Gabriel Dos Reis.
+ Copyright (C) 2007-2008, Gabriel Dos Reis.
All rights reserved.
Redistribution and use in source and binary forms, with or without
@@ -72,20 +72,31 @@
#endif
+/* socket description of spad clients */
+OPENAXIOM_EXPORT Sock clients[MaxClients];
-Sock clients[MaxClients]; /* socket description of spad clients */
-Sock server[2]; /* AF_LOCAL and AF_INET sockets for server */
-Sock *purpose_table[TotalMaxPurposes]; /* table of dedicated socket types */
-fd_set socket_mask; /* bit mask of active sockets */
-fd_set server_mask; /* bit mask of server sockets */
-int socket_closed; /* used to identify closed socket on SIGPIPE */
-int spad_server_number = -1; /* spad server number used in sman */
+/* AF_LOCAL and AF_INET sockets for server */
+OPENAXIOM_EXPORT Sock server[2];
+
+/* table of dedicated socket types */
+OPENAXIOM_EXPORT Sock *purpose_table[TotalMaxPurposes];
+
+/* bit mask of active sockets */
+OPENAXIOM_EXPORT fd_set socket_mask;
+
+/* bit mask of server sockets */
+OPENAXIOM_EXPORT fd_set server_mask;
+
+/* used to identify closed socket on SIGPIPE */
+int socket_closed;
+
+/* spad server number used in sman */
+int spad_server_number = -1;
int str_len = 0;
int still_reading = 0;
-#include "bsdsignal.H1"
#include "sockio.h"
/* The function sleep() is not available under Windows. Instead, they
@@ -206,13 +217,13 @@ axiom_connection_refused(void)
}
-void
+OPENAXIOM_EXPORT void
sigpipe_handler(int sig)
{
socket_closed = 1;
}
-int
+OPENAXIOM_EXPORT int
wait_for_client_read(Sock *sock, char *buf, int buf_size, char *msg)
{
int ret_val;
@@ -229,7 +240,7 @@ wait_for_client_read(Sock *sock, char *buf, int buf_size, char *msg)
}
}
-int
+OPENAXIOM_EXPORT int
wait_for_client_write(Sock *sock,char *buf,int buf_size,char *msg)
{
int ret_val;
@@ -246,7 +257,7 @@ wait_for_client_write(Sock *sock,char *buf,int buf_size,char *msg)
}
}
-int
+OPENAXIOM_EXPORT int
sread(Sock *sock, char *buf, int buf_size, char *msg)
{
int ret_val;
@@ -271,7 +282,7 @@ sread(Sock *sock, char *buf, int buf_size, char *msg)
return ret_val;
}
-int
+OPENAXIOM_EXPORT int
swrite(Sock *sock,char *buf,int buf_size,char *msg)
{
int ret_val;
@@ -297,7 +308,7 @@ swrite(Sock *sock,char *buf,int buf_size,char *msg)
return ret_val;
}
-int
+OPENAXIOM_EXPORT int
sselect(int n,fd_set *rd, fd_set *wr, fd_set *ex, void *timeout)
{
int ret_val;
@@ -307,7 +318,7 @@ sselect(int n,fd_set *rd, fd_set *wr, fd_set *ex, void *timeout)
return ret_val;
}
-int
+OPENAXIOM_EXPORT int
fill_buf(Sock *sock,char *buf, int len, char *msg)
{
int bytes = 0, ret_val;
@@ -319,7 +330,7 @@ fill_buf(Sock *sock,char *buf, int len, char *msg)
return bytes;
}
-int
+OPENAXIOM_EXPORT int
get_int(Sock *sock)
{
int val = -1, len;
@@ -336,7 +347,7 @@ get_int(Sock *sock)
return val;
}
-int
+OPENAXIOM_EXPORT int
sock_get_int(int purpose)
{
if (accept_if_needed(purpose) != -1)
@@ -344,7 +355,7 @@ sock_get_int(int purpose)
else return -1;
}
-int
+OPENAXIOM_EXPORT int
get_ints(Sock *sock, int *vals, int num)
{
int i;
@@ -353,7 +364,7 @@ get_ints(Sock *sock, int *vals, int num)
return 0;
}
-int
+OPENAXIOM_EXPORT int
sock_get_ints(int purpose, int *vals, int num)
{
if (accept_if_needed(purpose) != -1)
@@ -361,7 +372,7 @@ sock_get_ints(int purpose, int *vals, int num)
return -1;
}
-int
+OPENAXIOM_EXPORT int
send_int(Sock *sock,int val)
{
int ret_val;
@@ -372,7 +383,7 @@ send_int(Sock *sock,int val)
return 0;
}
-int
+OPENAXIOM_EXPORT int
sock_send_int(int purpose,int val)
{
if (accept_if_needed(purpose) != -1)
@@ -380,7 +391,7 @@ sock_send_int(int purpose,int val)
return -1;
}
-int
+OPENAXIOM_EXPORT int
send_ints(Sock *sock, int *vals, int num)
{
int i;
@@ -390,7 +401,7 @@ send_ints(Sock *sock, int *vals, int num)
return 0;
}
-int
+OPENAXIOM_EXPORT int
sock_send_ints(int purpose, int *vals, int num)
{
if (accept_if_needed(purpose) != -1)
@@ -398,7 +409,7 @@ sock_send_ints(int purpose, int *vals, int num)
return -1;
}
-int
+OPENAXIOM_EXPORT int
send_string_len(Sock *sock,char *str,int len)
{
int val;
@@ -423,7 +434,7 @@ send_string_len(Sock *sock,char *str,int len)
return 0;
}
-int
+OPENAXIOM_EXPORT int
send_string(Sock *sock, char *str)
{
int val, len = strlen(str);
@@ -436,7 +447,7 @@ send_string(Sock *sock, char *str)
}
-int
+OPENAXIOM_EXPORT int
sock_send_string(int purpose, char *str)
{
if (accept_if_needed(purpose) != -1)
@@ -444,7 +455,7 @@ sock_send_string(int purpose, char *str)
return -1;
}
-int
+OPENAXIOM_EXPORT int
sock_send_string_len(int purpose, char * str, int len)
{
if (accept_if_needed(purpose) != -1)
@@ -452,7 +463,7 @@ sock_send_string_len(int purpose, char * str, int len)
return -1;
}
-int
+OPENAXIOM_EXPORT int
send_strings(Sock *sock, char ** vals, int num)
{
int i;
@@ -462,7 +473,7 @@ send_strings(Sock *sock, char ** vals, int num)
return 0;
}
-int
+OPENAXIOM_EXPORT int
sock_send_strings(int purpose, char **vals, int num)
{
if (accept_if_needed(purpose) != -1)
@@ -470,7 +481,7 @@ sock_send_strings(int purpose, char **vals, int num)
return -1;
}
-char *
+OPENAXIOM_EXPORT char *
get_string(Sock *sock)
{
int val, len;
@@ -489,7 +500,7 @@ get_string(Sock *sock)
return buf;
}
-char *
+OPENAXIOM_EXPORT char *
sock_get_string(int purpose)
{
if (accept_if_needed(purpose) != -1)
@@ -498,7 +509,7 @@ sock_get_string(int purpose)
}
-char *
+OPENAXIOM_EXPORT char *
get_string_buf(Sock *sock, char *buf, int buf_len)
{
int val;
@@ -519,7 +530,7 @@ get_string_buf(Sock *sock, char *buf, int buf_len)
}
}
-char *
+OPENAXIOM_EXPORT char *
sock_get_string_buf(int purpose, char * buf, int buf_len)
{
if (accept_if_needed(purpose) != -1)
@@ -527,7 +538,7 @@ sock_get_string_buf(int purpose, char * buf, int buf_len)
return NULL;
}
-int
+OPENAXIOM_EXPORT int
get_strings(Sock *sock,char **vals,int num)
{
int i;
@@ -536,7 +547,7 @@ get_strings(Sock *sock,char **vals,int num)
return 0;
}
-int
+OPENAXIOM_EXPORT int
sock_get_strings(int purpose, char ** vals, int num)
{
if (accept_if_needed(purpose) != -1)
@@ -544,7 +555,7 @@ sock_get_strings(int purpose, char ** vals, int num)
return -1;
}
-int
+OPENAXIOM_EXPORT int
send_float(Sock *sock, double num)
{
int val;
@@ -555,7 +566,7 @@ send_float(Sock *sock, double num)
return 0;
}
-int
+OPENAXIOM_EXPORT int
sock_send_float(int purpose, double num)
{
if (accept_if_needed(purpose) != -1)
@@ -563,7 +574,7 @@ sock_send_float(int purpose, double num)
return -1;
}
-int
+OPENAXIOM_EXPORT int
send_sfloats(Sock *sock, float *vals,int num)
{
int i;
@@ -573,7 +584,7 @@ send_sfloats(Sock *sock, float *vals,int num)
return 0;
}
-int
+OPENAXIOM_EXPORT int
sock_send_sfloats(int purpose, float * vals, int num)
{
if (accept_if_needed(purpose) != -1)
@@ -581,7 +592,7 @@ sock_send_sfloats(int purpose, float * vals, int num)
return -1;
}
-int
+OPENAXIOM_EXPORT int
send_floats(Sock *sock, double *vals, int num)
{
int i;
@@ -591,7 +602,7 @@ send_floats(Sock *sock, double *vals, int num)
return 0;
}
-int
+OPENAXIOM_EXPORT int
sock_send_floats(int purpose, double *vals, int num)
{
if (accept_if_needed(purpose) != -1)
@@ -599,7 +610,7 @@ sock_send_floats(int purpose, double *vals, int num)
return -1;
}
-double
+OPENAXIOM_EXPORT double
get_float(Sock *sock)
{
int val;
@@ -611,7 +622,7 @@ get_float(Sock *sock)
return num;
}
-double
+OPENAXIOM_EXPORT double
sock_get_float(int purpose)
{
if (accept_if_needed(purpose) != -1)
@@ -619,7 +630,7 @@ sock_get_float(int purpose)
else return 0.0;
}
-int
+OPENAXIOM_EXPORT int
get_sfloats(Sock *sock, float *vals, int num)
{
int i;
@@ -629,7 +640,7 @@ get_sfloats(Sock *sock, float *vals, int num)
}
-int
+OPENAXIOM_EXPORT int
sock_get_sfloats(int purpose,float * vals, int num)
{
if (accept_if_needed(purpose) != -1)
@@ -637,7 +648,7 @@ sock_get_sfloats(int purpose,float * vals, int num)
return -1;
}
-int
+OPENAXIOM_EXPORT int
get_floats(Sock *sock,double *vals,int num)
{
int i;
@@ -647,7 +658,7 @@ get_floats(Sock *sock,double *vals,int num)
}
-int
+OPENAXIOM_EXPORT int
sock_get_floats(int purpose, double *vals, int num)
{
if (accept_if_needed(purpose) != -1)
@@ -655,7 +666,7 @@ sock_get_floats(int purpose, double *vals, int num)
return -1;
}
-int
+OPENAXIOM_EXPORT int
wait_for_client_kill(Sock *sock, int sig)
{
int ret_val;
@@ -673,7 +684,7 @@ wait_for_client_kill(Sock *sock, int sig)
}
-int
+OPENAXIOM_EXPORT int
sock_get_remote_fd(int purpose)
{
if (accept_if_needed(purpose) != -1)
@@ -681,7 +692,7 @@ sock_get_remote_fd(int purpose)
return -1;
}
-int
+OPENAXIOM_EXPORT int
send_signal(Sock *sock, int sig)
{
int ret_val;
@@ -700,7 +711,7 @@ send_signal(Sock *sock, int sig)
return ret_val;
}
-int
+OPENAXIOM_EXPORT int
sock_send_signal(int purpose,int sig)
{
if (accept_if_needed(purpose) != -1)
@@ -708,7 +719,7 @@ sock_send_signal(int purpose,int sig)
return -1;
}
-int
+OPENAXIOM_EXPORT int
send_wakeup(Sock *sock)
{
#ifdef SIGUSR1
@@ -718,7 +729,7 @@ send_wakeup(Sock *sock)
#endif
}
-int
+OPENAXIOM_EXPORT int
sock_send_wakeup(int purpose)
{
if (accept_if_needed(purpose) != -1)
@@ -726,7 +737,7 @@ sock_send_wakeup(int purpose)
return -1;
}
-Sock *
+OPENAXIOM_EXPORT Sock *
connect_to_local_server_new(char *server_name, int purpose, int time_out)
{
int max_con=(time_out == 0 ? 1000000 : time_out), i, code=-1;
@@ -778,7 +789,7 @@ connect_to_local_server_new(char *server_name, int purpose, int time_out)
return sock;
}
-Sock *
+OPENAXIOM_EXPORT Sock *
connect_to_local_server(char *server_name, int purpose, int time_out)
{
int max_con=(time_out == 0 ? 1000000 : time_out), i, code=-1;
@@ -833,7 +844,7 @@ connect_to_local_server(char *server_name, int purpose, int time_out)
/* act as terminal session for sock connected to stdin and stdout of another
process */
-void
+OPENAXIOM_EXPORT void
remote_stdio(Sock *sock)
{
char buf[1024];
@@ -873,7 +884,7 @@ remote_stdio(Sock *sock)
}
/* initialize the table of dedicated sockets */
-void
+OPENAXIOM_EXPORT void
init_purpose_table(void)
{
int i;
@@ -883,14 +894,14 @@ init_purpose_table(void)
}
-int
+OPENAXIOM_EXPORT int
make_server_number(void)
{
spad_server_number = getpid();
return spad_server_number;
}
-void
+OPENAXIOM_EXPORT void
close_socket(axiom_socket socket_num, char *name)
{
axiom_close_socket(socket_num);
@@ -899,7 +910,7 @@ close_socket(axiom_socket socket_num, char *name)
#endif
}
-int
+OPENAXIOM_EXPORT int
make_server_name(char *name,char * base)
{
char *num;
@@ -920,7 +931,7 @@ make_server_name(char *name,char * base)
/* client Spad server sockets. Two sockets are created: server[0]
is the internet server socket, and server[1] is a local domain socket. */
-int
+OPENAXIOM_EXPORT int
open_server(char *server_name)
{
char *s, name[256];
@@ -986,7 +997,7 @@ open_server(char *server_name)
return 0;
}
-int
+OPENAXIOM_EXPORT int
accept_connection(Sock *sock)
{
int client;
@@ -1007,7 +1018,7 @@ accept_connection(Sock *sock)
}
/* reads a the socket purpose declaration for classification */
-void
+OPENAXIOM_EXPORT void
get_socket_type(Sock *sock)
{
sock->pid = get_int(sock);
@@ -1029,7 +1040,7 @@ get_socket_type(Sock *sock)
}
}
-int
+OPENAXIOM_EXPORT int
sock_accept_connection(int purpose)
{
fd_set rd;
@@ -1053,7 +1064,7 @@ sock_accept_connection(int purpose)
}
/* direct stdin and stdout from the given socket */
-void
+OPENAXIOM_EXPORT void
redirect_stdio(Sock *sock)
{
int fd;
@@ -1072,7 +1083,7 @@ redirect_stdio(Sock *sock)
FD_CLR(sock->socket, &socket_mask);
}
-void
+OPENAXIOM_EXPORT void
init_socks(void)
{
int i;
@@ -1085,7 +1096,7 @@ init_socks(void)
/* Socket I/O selection called from the BOOT serverLoop function */
-int
+OPENAXIOM_EXPORT int
server_switch(void)
{
int ret_val, i, cmd = 0;
@@ -1132,7 +1143,7 @@ server_switch(void)
}
}
-void
+OPENAXIOM_EXPORT void
flush_stdout(void)
{
static FILE *fp = NULL;
@@ -1146,14 +1157,14 @@ flush_stdout(void)
fflush(fp);
}
-void
+OPENAXIOM_EXPORT void
print_line(char *s)
{
printf("%s\n", s);
}
-double
+OPENAXIOM_EXPORT double
plus_infinity(void )
{
#ifdef INFINITY
@@ -1165,13 +1176,13 @@ plus_infinity(void )
#endif
}
-double
+OPENAXIOM_EXPORT double
minus_infinity(void)
{
return -plus_infinity();
}
-double
+OPENAXIOM_EXPORT double
NANQ(void)
{
#ifdef NAN
diff --git a/src/lisp/Makefile.in b/src/lisp/Makefile.in
index 58a2b489..5bf625d4 100644
--- a/src/lisp/Makefile.in
+++ b/src/lisp/Makefile.in
@@ -1,4 +1,4 @@
-# Copyright (C) 2007, Gabriel Dos Reis.
+# Copyright (C) 2007-2008, Gabriel Dos Reis.
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
@@ -38,11 +38,6 @@ pamphlets = Makefile.pamphlet
build_libdir = ./$(top_builddir)/src/lib
-lisp_DEPENDENCIES = $(build_libdir)/cfuns-c.lo \
- $(build_libdir)/sockio-c.lo \
- $(build_libdir)/libspad.la
-
-
## Ideally, we would like to use Libtool for producing, and linking with,
## object files from C codes. That means any C source code
## explicitly included in OpenAxiom, or produced internally by a Lisp
diff --git a/src/sman/Makefile.in b/src/sman/Makefile.in
index d751da48..e416807e 100644
--- a/src/sman/Makefile.in
+++ b/src/sman/Makefile.in
@@ -45,7 +45,8 @@ bin_PROGRAMS = session$(EXEEXT) \
spadclient$(EXEEXT) \
sman$(EXEEXT)
-libspad_la = $(axiom_target_libdir)/libspad.la
+libspad_la = $(axiom_target_libdir)/libspad.la \
+ $(axiom_target_libdir)/libopen-axiom-core.la
session_SOURCES = session.c
session_objects = $(session_SOURCES:.c=.lo)
diff --git a/src/sman/session.c b/src/sman/session.c
index cd1b2697..73868a19 100644
--- a/src/sman/session.c
+++ b/src/sman/session.c
@@ -51,7 +51,6 @@
#include "com.h"
#include "bsdsignal.h"
#include "sockio.h"
-#include "bsdsignal.H1"
#include "session.H1"
#define BufSize 4096 /* size of communication buffer */
diff --git a/src/sman/sman.c b/src/sman/sman.c
index 0bc443e9..41beebba 100644
--- a/src/sman/sman.c
+++ b/src/sman/sman.c
@@ -53,7 +53,6 @@
#include "bsdsignal.h"
#include "sman.h"
-#include "bsdsignal.H1"
#include "sockio.h"
#include "openpty.H1"
#include "utils.h"
diff --git a/src/sman/spadclient.c b/src/sman/spadclient.c
index 94b3bc9c..1d74dabf 100644
--- a/src/sman/spadclient.c
+++ b/src/sman/spadclient.c
@@ -44,7 +44,6 @@
#include "com.h"
#include "bsdsignal.h"
-#include "bsdsignal.H1"
#include "sockio.h"
#include "spadclient.H1"