diff options
Diffstat (limited to 'unix/Makefile.in')
-rw-r--r-- | unix/Makefile.in | 133 |
1 files changed, 119 insertions, 14 deletions
diff --git a/unix/Makefile.in b/unix/Makefile.in index 0e43347..80e744b 100644 --- a/unix/Makefile.in +++ b/unix/Makefile.in @@ -5,7 +5,7 @@ # "autoconf" program (constructs like "@foo@" will get replaced in the # actual Makefile. # -# RCS: @(#) $Id: Makefile.in,v 1.1.4.4 1999/02/16 12:03:59 lfb Exp $ +# RCS: @(#) $Id: Makefile.in,v 1.1.4.4.2.1 1999/03/10 02:23:05 redman Exp $ # Current Tk version; used in various names. @@ -111,9 +111,6 @@ X11_INCLUDES = @XINCLUDES@ # can override it). X11_LIB_SWITCHES = @XLIBSW@ -# Libraries to use when linking. This definition is determined by the -# configure script. -LIBS = @TCL_BUILD_LIB_SPEC@ @LIBS@ $(X11_LIB_SWITCHES) @DL_LIBS@ @MATH_LIBS@ -lc # To turn off the security checks that disallow incoming sends when # the X server appears to be insecure, reverse the comments on the @@ -167,14 +164,31 @@ INSTALL_DATA = ${INSTALL} -m 644 TK_SHLIB_CFLAGS = @TK_SHLIB_CFLAGS@ +# To enable support for stubs in Tcl. +STUB_LIB_FILE = @STUB_LIB_FILE@ + +TK_STUB_LIB_FILE = @TK_STUB_LIB_FILE@ +#TK_STUB_LIB_FILE = libtkstub.a + +TK_STUB_LIB_FLAG = @TK_STUB_LIB_FLAG@ +#TK_STUB_LIB_FLAG = -ltkstub + TK_LIB_FILE = @TK_LIB_FILE@ #TK_LIB_FILE = libtk.a TK_LIB_FLAG = @TK_LIB_FLAG@ #TK_LIB_FLAG = -ltk -TCL_LIB_FLAG = @TCL_LIB_FLAG@ -#TCL_LIB_FLAG = -ltcl +TCL_LIB_SPEC = @TCL_BUILD_LIB_SPEC@ +TK_EXP_FILE = @TK_EXP_FILE@ +TK_BUILD_EXP_FILE = @TK_BUILD_EXP_FILE@ + +TCL_STUB_FLAGS = @TCL_STUB_FLAGS@ + +# Libraries to use when linking. This definition is determined by the +# configure script. +LIBS = @SHLIB_LD_LIBS@ @LIBS@ $(X11_LIB_SWITCHES) @DL_LIBS@ @MATH_LIBS@ -lc +WISH_LIBS = $(TCL_LIB_SPEC) @LIBS@ $(X11_LIB_SWITCHES) @DL_LIBS@ @MATH_LIBS@ -lc # The symbol below provides support for dynamic loading and shared # libraries. See configure.in for a description of what it means. @@ -213,9 +227,23 @@ TOOL_DIR = @TCL_SRC_DIR@/tools CC = @CC@ CC_SWITCHES = ${CFLAGS} ${CFLAGS_WARNING} ${TK_SHLIB_CFLAGS} \ -I${UNIX_DIR} -I${GENERIC_DIR} \ --I${BMAP_DIR} -I${TCL_GENERIC_DIR} ${X11_INCLUDES} ${AC_FLAGS} ${PROTO_FLAGS} \ +-I${BMAP_DIR} -I${TCL_GENERIC_DIR} ${X11_INCLUDES} \ +${AC_FLAGS} ${PROTO_FLAGS} ${TCL_STUB_FLAGS} \ ${SECURITY_FLAGS} ${MEM_DEBUG_FLAGS} ${KEYSYM_FLAGS} ${NO_DEPRECATED_FLAGS} +WISH_CC_SWITCHES = ${CFLAGS} ${CFLAGS_WARNING} ${TK_SHLIB_CFLAGS} \ +-I${UNIX_DIR} -I${GENERIC_DIR} \ +-I${BMAP_DIR} -I${TCL_GENERIC_DIR} ${X11_INCLUDES} \ +${AC_FLAGS} ${PROTO_FLAGS} \ +${SECURITY_FLAGS} ${MEM_DEBUG_FLAGS} ${KEYSYM_FLAGS} ${NO_DEPRECATED_FLAGS} + +STUB_CC_SWITCHES = ${CFLAGS} ${CFLAGS_WARNING} ${TK_SHLIB_CFLAGS} \ +-I${UNIX_DIR} -I${GENERIC_DIR} \ +-I${BMAP_DIR} -I${TCL_GENERIC_DIR} ${X11_INCLUDES} \ +${AC_FLAGS} ${PROTO_FLAGS} \ +${SECURITY_FLAGS} ${MEM_DEBUG_FLAGS} ${KEYSYM_FLAGS} ${NO_DEPRECATED_FLAGS} + + DEPEND_SWITCHES = ${CFLAGS} -I${UNIX_DIR} -I${GENERIC_DIR} \ -I${BMAP_DIR} \ -I${TCL_GENERIC_DIR} ${X11_INCLUDES} \ @@ -245,7 +273,10 @@ UNIXOBJS = tkUnix.o tkUnix3d.o tkUnixButton.o tkUnixColor.o tkUnixConfig.o \ tkUnixCursor.o tkUnixDraw.o tkUnixEmbed.o tkUnixEvent.o \ tkUnixFocus.o tkUnixFont.o tkUnixInit.o tkUnixKey.o tkUnixMenu.o \ tkUnixMenubu.o tkUnixScale.o tkUnixScrlbr.o tkUnixSelect.o \ - tkUnixSend.o tkUnixWm.o tkUnixXId.o + tkUnixSend.o tkUnixWm.o tkUnixXId.o tkStubInit.o + +STUB_LIB_OBJS = tkStubs.o tkIntStubs.o tkIntPlatStubs.o tkPlatStubs.o \ + tkIntXlibStubs.o tkStubLib.o OBJS = tk3d.o tkArgv.o tkAtom.o tkBind.o tkBitmap.o tkClipboard.o tkCmds.o \ tkColor.o tkConfig.o tkCursor.o tkError.o tkEvent.o \ @@ -254,6 +285,10 @@ OBJS = tk3d.o tkArgv.o tkAtom.o tkBind.o tkBitmap.o tkClipboard.o tkCmds.o \ tkSelect.o tkUtil.o tkVisual.o tkWindow.o \ $(UNIXOBJS) $(WIDGOBJS) $(CANVOBJS) $(IMAGEOBJS) $(TEXTOBJS) +TK_DECLS = \ + $(GENERIC_DIR)/tk.decls \ + $(GENERIC_DIR)/tkInt.decls + SRCS = \ $(GENERIC_DIR)/tk3d.c $(GENERIC_DIR)/tkArgv.c \ $(GENERIC_DIR)/tkAtom.c $(GENERIC_DIR)/tkBind.c \ @@ -291,6 +326,9 @@ SRCS = \ $(GENERIC_DIR)/tkTextTag.c $(GENERIC_DIR)/tkTextWind.c \ $(GENERIC_DIR)/tkOldConfig.c \ $(GENERIC_DIR)/tkSquare.c $(GENERIC_DIR)/tkTest.c \ + $(GENERIC_DIR)/tkStubs.c $(GENERIC_DIR)/tkIntStubs.c \ + $(GENERIC_DIR)/tkPlatStubs.c $(GENERIC_DIR)/tkIntPlatStubs.c \ + $(GENERIC_DIR)/tkIntXlibStubs.c $(GENERIC_DIR)/tkInitStubs.c \ $(UNIX_DIR)/tkAppInit.c $(UNIX_DIR)/tkUnix.c \ $(UNIX_DIR)/tkUnix3d.c \ $(UNIX_DIR)/tkUnixButton.c $(UNIX_DIR)/tkUnixColor.c \ @@ -323,18 +361,24 @@ ${TK_LIB_FILE}: ${OBJS} @MAKE_LIB@ $(RANLIB) ${TK_LIB_FILE} +${STUB_LIB_FILE}: ${STUB_LIB_OBJS} + rm -f ${STUB_LIB_FILE} + @MAKE_STUB_LIB@ + $(RANLIB) ${STUB_LIB_FILE} + # Make target which outputs the list of the .o contained in the Tk lib # usefull to build a single big shared library containing Tcl/Tk and other # extensions. used for the Tcl Plugin. -- dl tkLibObjs: @echo ${OBJS} + # This targets actually build the objects needed for the lib in the above # case objs: ${OBJS} -wish: $(WISH_OBJS) $(TK_LIB_FILE) - $(CC) @LD_FLAGS@ $(WISH_OBJS) @TK_BUILD_LIB_SPEC@ $(LIBS) \ +wish: $(WISH_OBJS) $(TK_LIB_FILE) $(TK_STUB_LIB_FILE) + $(CC) @LD_FLAGS@ $(WISH_OBJS) @TK_BUILD_LIB_SPEC@ $(WISH_LIBS) \ $(TK_CC_SEARCH_FLAGS) -o wish tktest: $(TKTEST_OBJS) $(TK_LIB_FILE) @@ -377,7 +421,7 @@ install: install-binaries install-libraries install-demos install-man # some ranlibs write to current directory, and this might not always be # possible (e.g. if installing as root). -install-binaries: $(TK_LIB_FILE) wish +install-binaries: $(TK_LIB_FILE) $(TK_STUB_LIB_FILE) $(TK_BUILD_EXP_FILE) wish @for i in $(LIB_INSTALL_DIR) $(BIN_INSTALL_DIR) ; \ do \ if [ ! -d $$i ] ; then \ @@ -395,6 +439,16 @@ install-binaries: $(TK_LIB_FILE) wish @$(INSTALL_PROGRAM) wish $(BIN_INSTALL_DIR)/wish$(VERSION) @echo "Installing tkConfig.sh" @$(INSTALL_DATA) tkConfig.sh $(LIB_INSTALL_DIR)/tkConfig.sh + @if test "$(TK_BUILD_EXP_FILE)" != ""; then \ + echo "Installing $(TK_EXP_FILE)"; \ + $(INSTALL_DATA) $(TK_BUILD_EXP_FILE) \ + $(LIB_INSTALL_DIR)/$(TK_EXP_FILE); \ + fi + @if test "$(TK_STUB_LIB_FILE)" != "" ; then \ + echo "Installing $(TK_STUB_LIB_FILE)"; \ + $(INSTALL_DATA) $(STUB_LIB_FILE) \ + $(LIB_INSTALL_DIR)/$(TK_STUB_LIB_FILE); \ + fi install-libraries: @for i in $(INSTALL_ROOT)$(prefix)/lib $(INCLUDE_INSTALL_DIR) \ @@ -522,12 +576,12 @@ tkTestInit.o: $(UNIX_DIR)/tkAppInit.c mv tkAppInit.sav tkAppInit.o; \ fi; +tkAppInit.o: $(UNIX_DIR)/tkAppInit.c + $(CC) -c $(WISH_CC_SWITCHES) $(UNIX_DIR)/tkAppInit.c + tk3d.o: $(GENERIC_DIR)/tk3d.c $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tk3d.c -tkAppInit.o: $(UNIX_DIR)/tkAppInit.c - $(CC) -c $(CC_SWITCHES) $(UNIX_DIR)/tkAppInit.c - tkArgv.o: $(GENERIC_DIR)/tkArgv.c $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkArgv.c @@ -723,6 +777,31 @@ tkTextTag.o: $(GENERIC_DIR)/tkTextTag.c tkTextWind.o: $(GENERIC_DIR)/tkTextWind.c $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkTextWind.c +tkStubInit.o: $(GENERIC_DIR)/tkStubInit.c + $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkStubInit.c + +# Stub library binaries, these must be compiled for use in a shared library +# even though they will be placed in a static archive + +tkStubs.o: $(GENERIC_DIR)/tkStubs.c + $(CC) -c $(STUB_CC_SWITCHES) $(GENERIC_DIR)/tkStubs.c + +tkIntStubs.o: $(GENERIC_DIR)/tkIntStubs.c + $(CC) -c $(STUB_CC_SWITCHES) $(GENERIC_DIR)/tkIntStubs.c + +tkPlatStubs.o: $(GENERIC_DIR)/tkPlatStubs.c + $(CC) -c $(STUB_CC_SWITCHES) $(GENERIC_DIR)/tkPlatStubs.c + +tkIntPlatStubs.o: $(GENERIC_DIR)/tkIntPlatStubs.c + $(CC) -c $(STUB_CC_SWITCHES) $(GENERIC_DIR)/tkIntPlatStubs.c + +tkIntXlibStubs.o: $(GENERIC_DIR)/tkIntXlibStubs.c + $(CC) -c $(STUB_CC_SWITCHES) $(GENERIC_DIR)/tkIntXlibStubs.c + +tkStubLib.o: $(GENERIC_DIR)/tkStubLib.c + $(CC) -c $(STUB_CC_SWITCHES) $(GENERIC_DIR)/tkStubLib.c + + tkUnix.o: $(UNIX_DIR)/tkUnix.c $(CC) -c $(CC_SWITCHES) $(UNIX_DIR)/tkUnix.c @@ -805,6 +884,32 @@ checkuchar: checkexports: $(TK_LIB_FILE) -nm -p $(TK_LIB_FILE) | awk '$$2 ~ /[TDB]/ { print $$3 }' | sort -n | grep -v '^[Tt]k' +# Target to regenerate header files and stub files from the *.decls tables. +# + +genstubs: + tclsh $(TOOL_DIR)/genStubs.tcl $(GENERIC_DIR) \ + $(GENERIC_DIR)/tk.decls $(GENERIC_DIR)/tkInt.decls + +# +# Target to check that all exported functions have an entry in the stubs +# tables. +# + +checkstubs: + -@for i in `nm -p $(TK_LIB_FILE) | awk '$$2 ~ /T/ { print $$3 }' \ + | sort -n`; do \ + match=0; \ + for j in $(TK_DECLS); do \ + if [ `grep -c $$i $$j` -gt 0 ]; then \ + match=1; \ + fi; \ + done; \ + if [ $$match -eq 0 ]; then echo $$i; fi \ + done + + + # # Target to create a proper Tk distribution from information in the # master source directory. DISTDIR must be defined to indicate where |