# Directory in which to install the .a or .so binary for the XPA library:
LIB_INSTALL_DIR = $(INSTALL_ROOT)$(exec_prefix)/lib
+TCL_LIB_INSTALL_DIR = $(LIB_INSTALL_DIR)/tcltk/xpa
# Directory in which to install the program wish:
BIN_INSTALL_DIR = $(INSTALL_ROOT)$(exec_prefix)/bin
INCL = xpa.h xpap.h
# these are all the modules going into the "normal" xpa library
-LIBOBJS = ${BASE_OBJS} ${TCL_OBJS} ${XT_OBJS} ${GTK_OBJS}
+LIBOBJS = ${BASE_OBJS} ${XT_OBJS} ${GTK_OBJS}
LIB = libxpa.a
# used in link line
install:: install-share
+install:: tclxpa_install
+
lib: $(LIB) $(DOSHARED)
$(LIB): $(LIBOBJS)
-e _LibMain@12 -Wl,--image-base,0x1C000000 -o libxpa.dll \
-luser32 -lwsock32
-tclxpa: $(LIB)
- @(rm -rf libtclxpa.tmp; mkdir libtclxpa.tmp; \
- (cd libtclxpa.tmp && ar x ../lib$(PACKAGE).a); \
- rm -f libtclxpa.tmp/xt*.o; \
- CC='$(CC)' CXX=$(CXX) \
- ./mklib -o tclxpa libtclxpa.tmp/*.o $(TCL_LIBS); \
- test -r libtclxpa.dylib && cp -p libtclxpa.dylib libtclxpa.so && echo "copying libtclxpa.dylib to libtclxpa.so"; \
- rm -rf libtclxpa.tmp)
+
+tclxpa: $(TCL_OBJS)
+ ar cruv libtclxpa.a $(TCL_OBJS)
+ $(RANLIB) libtclxpa.a
+
+shtclxpa: tclxpa
+ @(rm -rf $(PACKAGE)tmp; mkdir $(PACKAGE)tmp; \
+ (cd $(PACKAGE)tmp && ar x ../libtclxpa.a); \
+ CC='$(CC)' CXX='$(CXX)' \
+ ./mklib -o tclxpa -L. -lxpa $(PACKAGE)tmp/*.o $(TCL_LIBS); \
+ rm -rf $(PACKAGE)tmp; )
diff:
-(for f in `ls *.c`; \
_install:
shlib_install:
- @-(for i in `ls *.so* *.dylib *.sl 2>/dev/null` ; \
+ @-(for i in `ls libxpa.so* *.dylib *.sl 2>/dev/null` ; \
do \
if [ -h $$i ] ; then \
echo "Installing link $$i" ; \
fi; \
done;)
+tclxpa_install: shtclxpa
+ mkdir -p $(TCL_LIB_INSTALL_DIR)
+ $(INSTALL_DATA) libtclxpa.so $(TCL_LIB_INSTALL_DIR)
+ $(INSTALL_DATA) pkgIndex.tcl $(TCL_LIB_INSTALL_DIR)
+
install-binaries: $(LIB) $(PROGS)
@for i in $(LIB_INSTALL_DIR) $(INCLUDE_INSTALL_DIR) $(BIN_INSTALL_DIR) ; \
do \
/* create new tcl variable for this socket */
else{
/* create a tcl channel corresponding to the xpa socket */
- if( !(chan = Tcl_MakeTcpClientChannel((ClientData)xpa_cmdfd(xpa))) ){
+ if( !(chan = Tcl_MakeTcpClientChannel((ClientData)(intptr_t)xpa_cmdfd(xpa))) ){
Tcl_SetResult(interp, "XPA$ERROR: could not map XPA cmdfd to tcl",
TCL_STATIC);
result = TCL_ERROR;
}
/* create new tcl variable for this socket */
else{
- if( !(chan = Tcl_MakeTcpClientChannel((ClientData)xpa_datafd(xpa))) ){
+ if( !(chan = Tcl_MakeTcpClientChannel((ClientData)(intptr_t)xpa_datafd(xpa))) ){
Tcl_SetResult(interp, "XPA$ERROR: could not map XPA datafd to tcl",
TCL_STATIC);
result = TCL_ERROR;