summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/Makefile17
-rwxr-xr-xsrc/ivytcl.h56
2 files changed, 68 insertions, 5 deletions
diff --git a/src/Makefile b/src/Makefile
index 7022752..c83a4f2 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -22,25 +22,28 @@ MINOR=1
XTINC = /usr/X11R6/include
XTLIB = /usr/X11R6/lib
CC=gcc
-CFLAGS = -g -Wall
+CFLAGS = -g
OBJ = ivyloop.o timer.o ivysocket.o ivy.o
GOBJ = ivyloop.o timer.o ivysocket.o givy.o
XTOBJ = ivyxtloop.o ivysocket.o ivy.o
+TCLOBJ = ivytcl.o ivysocket.o givy.o
TARGETS = ivyprobe ivyxtprobe
.c.o:
- $(CC) -fPIC $(CFLAGS) -c $*.c
+ $(CC) $(CFLAGS) -c $*.c
-all: static-libs commands shared-libs
+all: static-libs commands shared-libs tcl-exts
static-libs: libivy.a libgivy.a libxtivy.a
-shared-libs: libivy.so.$(MAJOR).$(MINOR) libgivy.so.$(MAJOR).$(MINOR) libxtivy.so.$(MAJOR).$(MINOR)
+shared-libs: libivy.so.$(MAJOR).$(MINOR) libgivy.so.$(MAJOR).$(MINOR) libxtivy.so.$(MAJOR).$(MINOR)
+
+tcl-exts: ivytcl.so.$(MAJOR).$(MINOR)
commands: $(TARGETS)
givy.o: ivy.c
- $(CC) -DGNU_REGEXP -fPIC -c $(CFLAGS) -o givy.o ivy.c
+ $(CC) -DGNU_REGEXP -c $(CFLAGS) -o givy.o ivy.c
ivyprobe: ivyprobe.o libivy.a
$(CC) $(CFLAGS) -o ivyprobe ivyprobe.o -L. -livy
@@ -73,6 +76,10 @@ libxtivy.so.$(MAJOR).$(MINOR): $(XTOBJ)
$(CC) -shared -Wl,-soname,libxtivy.so.$(MAJOR) -o $@ \
$(XTOBJ) -L$(XTLIB) -lXt -lX11 -lc
+ivytcl.so.$(MAJOR).$(MINOR): $(TCLOBJ)
+ $(CC) -shared -Wl,-soname,ivytcl.so.$(MAJOR) -o $@ \
+ $(TCLOBJ) -L$(TCLLIB) -ltcl -lc
+
clean:
-rm -f $(TARGETS) *.o *.a *.so *.so.* *~
diff --git a/src/ivytcl.h b/src/ivytcl.h
new file mode 100755
index 0000000..068bac6
--- /dev/null
+++ b/src/ivytcl.h
@@ -0,0 +1,56 @@
+/*
+ * Ivy, C interface
+ *
+ * Copyright (C) 1997-1999
+ * Centre d'Études de la Navigation Aérienne
+ *
+ * Main loop based on X Toolkit
+ *
+ * Authors: François-Régis Colin <colin@cenatoulouse.dgac.fr>
+ * Stéphane Chatty <chatty@cenatoulouse.dgac.fr>
+ *
+ * $Id$
+ *
+ * Please refer to file version.h for the
+ * copyright notice regarding this software
+ */
+
+#ifndef IVYTCLLOOP_H
+#define IVYTCLLOOP_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include <X11/Intrinsic.h>
+
+/* general Handle */
+
+#define ANYPORT 0
+
+#ifdef WIN32
+#include <windows.h>
+#define HANDLE SOCKET
+#else
+#define HANDLE int
+#endif
+
+#include "ivychannel.h"
+
+extern void IvyTclChannelInit(void);
+
+extern Channel IvyTclChannelSetUp(
+ HANDLE fd,
+ void *data,
+ ChannelHandleDelete handle_delete,
+ ChannelHandleRead handle_read
+);
+
+extern void IvyTclChannelClose( Channel channel );
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
+