Overview
Comment: | Restructured things a bit |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA3-256: |
a101629cc65bfd4c6af12cc943f389d7 |
User & Date: | rkeene on 2019-09-17 05:43:49 |
Other Links: | manifest | tags |
Context
2019-09-17
| ||
14:34 | Ignore coverage files check-in: 61f76061a1 user: rkeene tags: trunk | |
05:43 | Restructured things a bit check-in: a101629cc6 user: rkeene tags: trunk | |
05:06 | Undefine macros because we may concatencat translation units in some modes check-in: 5f2895faba user: rkeene tags: trunk | |
Changes
Modified .fossil-settings/ignore-glob from [8344e93bfa] to [adc97ad9ab].
1 2 3 4 5 6 7 8 | example.c.new example.c example.o example.so xvfs-core.o xvfs-create-standalone.new xvfs-create-standalone __test__.tcl | > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 | example.c.new example.c example.o example.so example-client.o example-client.so example-server.o example-server.so xvfs-core.o xvfs-create-standalone.new xvfs-create-standalone __test__.tcl |
Modified Makefile from [ba72f8ca71] to [4529931791].
1 2 3 4 5 6 | CPPFLAGS := -I. -DUSE_TCL_STUBS=1 -DXVFS_DEBUG $(XVFS_ADD_CPPFLAGS) CFLAGS := -fPIC -g3 -ggdb3 -Wall $(XVFS_ADD_CFLAGS) LDFLAGS := $(XVFS_ADD_LDFLAGS) LIBS := -ltclstub8.6 TCLSH := tclsh | | > > > | | | | | > > | | > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 | CPPFLAGS := -I. -DUSE_TCL_STUBS=1 -DXVFS_DEBUG $(XVFS_ADD_CPPFLAGS) CFLAGS := -fPIC -g3 -ggdb3 -Wall $(XVFS_ADD_CFLAGS) LDFLAGS := $(XVFS_ADD_LDFLAGS) LIBS := -ltclstub8.6 TCLSH := tclsh all: example.so example-client.so example-server.so example.c: $(shell find example -type f) $(shell find lib -type f) xvfs.c.rvt xvfs-create Makefile ./xvfs-create --directory example --name example > example.c.new mv example.c.new example.c example.o: example.c xvfs-core.h xvfs-core.c Makefile $(CC) $(CPPFLAGS) -DXVFS_MODE_FLEXIBLE $(CFLAGS) -o example.o -c example.c example.so: example.o Makefile $(CC) $(CFLAGS) $(LDFLAGS) -shared -o example.so example.o $(LIBS) example-client.o: example.c xvfs-core.h Makefile $(CC) $(CPPFLAGS) -DXVFS_MODE_FLEXIBLE $(CFLAGS) -o example-client.o -c example.c example-client.so: example-client.o Makefile $(CC) $(CFLAGS) $(LDFLAGS) -shared -o example-client.so example-client.o $(LIBS) example-server.o: xvfs-core.h xvfs-core.c Makefile $(CC) $(CPPFLAGS) -DXVFS_MODE_SERVER $(CFLAGS) -o example-server.o -c xvfs-core.c example-server.so: example-server.o Makefile $(CC) $(CFLAGS) $(LDFLAGS) -shared -o example-server.so example-server.o $(LIBS) # xvfs-create-standalone is a standalone (i.e., no external dependencies # like lib/minirivet, xvfs-core.c, etc) version of "xvfs-create" xvfs-create-standalone: $(shell find lib -type f) xvfs-create xvfs-core.c xvfs-core.h xvfs.c.rvt Makefile rm -f xvfs-create-standalone.new xvfs-create-standalone ./xvfs-create --dump-tcl --remove-debug > xvfs-create-standalone.new chmod +x xvfs-create-standalone.new mv xvfs-create-standalone.new xvfs-create-standalone test: example.so example-server.so example-client.so Makefile rm -f __test__.tcl echo 'if {[catch { load ./example.so Xvfs_example; source //xvfs:/example/main.tcl }]} { puts stderr $$::errorInfo; exit 1 }; exit 0' > __test__.tcl $(GDB) $(TCLSH) __test__.tcl $(TCL_TEST_ARGS) rm -f __test__.tcl echo 'if {[catch { load ./example-server.so Xvfs; load ./example-client.so Xvfs_example; source //xvfs:/example/main.tcl }]} { puts stderr $$::errorInfo; exit 1 }; exit 0' > __test__.tcl $(GDB) $(TCLSH) __test__.tcl $(TCL_TEST_ARGS) rm -f __test__.tcl coverage: $(MAKE) clean $(MAKE) example.so XVFS_ADD_CFLAGS=-coverage XVFS_ADD_LDFLAGS=-coverage $(MAKE) test XVFS_TEST_EXIT_ON_FAILURE=0 rm -f xvfs-test-coverage.info lcov --capture --directory . --output-file xvfs-test-coverage.info rm -rf xvfs-test-coverage mkdir xvfs-test-coverage genhtml xvfs-test-coverage.info --output-directory xvfs-test-coverage rm -f xvfs-test-coverage.info clean: rm -f xvfs-create-standalone.new xvfs-create-standalone rm -f example.c example.c.new rm -f example.so example.o rm -f example-client.o example-server.o rm -f example-client.so example-server.so rm -f example.gcda example.gcno rm -f __test__.tcl rm -f xvfs-test-coverage.info rm -rf xvfs-test-coverage distclean: clean .PHONY: all clean distclean test coverage |
Modified xvfs-core.c from [b50c976369] to [1493b408fe].
︙ | ︙ | |||
984 985 986 987 988 989 990 | #endif /* XVFS_MODE_FLEXIBLE */ #if defined(XVFS_MODE_SERVER) static Tcl_Filesystem xvfs_tclfs_dispatch_fs; static Tcl_HashTable xvfs_tclfs_dispatch_map; static struct xvfs_tclfs_server_info xvfs_tclfs_dispatch_fsdata; | | | 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 | #endif /* XVFS_MODE_FLEXIBLE */ #if defined(XVFS_MODE_SERVER) static Tcl_Filesystem xvfs_tclfs_dispatch_fs; static Tcl_HashTable xvfs_tclfs_dispatch_map; static struct xvfs_tclfs_server_info xvfs_tclfs_dispatch_fsdata; static int xvfs_tclfs_dispatch_pathInFS(Tcl_Obj *path, ClientData *dataPtr) { const char *pathStr, *rootStr; int pathLen, rootLen; XVFS_DEBUG_ENTER; XVFS_DEBUG_PRINTF("Verifying that \"%s\" belongs in XVFS ...", Tcl_GetString(path)); |
︙ | ︙ | |||
1024 1025 1026 1027 1028 1029 1030 | Tcl_HashEntry *mapEntry; struct xvfs_tclfs_instance_info *retval; int rootLen; char *pathStr, *fsName, *fsNameEnds, origSep; XVFS_DEBUG_ENTER; | | | 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 | Tcl_HashEntry *mapEntry; struct xvfs_tclfs_instance_info *retval; int rootLen; char *pathStr, *fsName, *fsNameEnds, origSep; XVFS_DEBUG_ENTER; if (xvfs_tclfs_dispatch_pathInFS(path, NULL) != TCL_OK) { XVFS_DEBUG_LEAVE; return(NULL); } rootLen = strlen(XVFS_ROOT_MOUNTPOINT); pathStr = Tcl_GetString(path); |
︙ | ︙ | |||
1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 | return(xvfs_tclfs_matchInDir(interp, resultPtr, pathPtr, pattern, types, instanceInfo)); } int Xvfs_Init(Tcl_Interp *interp) { static int registered = 0; int tclRet; /* XXX:TODO: Make this thread-safe */ if (registered) { return(TCL_OK); } registered = 1; xvfs_tclfs_dispatch_fs.typeName = "xvfsDispatch"; xvfs_tclfs_dispatch_fs.structureLength = sizeof(xvfs_tclfs_dispatch_fs); xvfs_tclfs_dispatch_fs.version = TCL_FILESYSTEM_VERSION_1; | > > > > > > > > > | | 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 | return(xvfs_tclfs_matchInDir(interp, resultPtr, pathPtr, pattern, types, instanceInfo)); } int Xvfs_Init(Tcl_Interp *interp) { static int registered = 0; int tclRet; #ifdef USE_TCL_STUBS const char *tclInitStubs_ret; /* Initialize Stubs */ tclInitStubs_ret = Tcl_InitStubs(interp, TCL_PATCH_LEVEL, 0); if (!tclInitStubs_ret) { return(TCL_ERROR); } #endif /* XXX:TODO: Make this thread-safe */ if (registered) { return(TCL_OK); } registered = 1; xvfs_tclfs_dispatch_fs.typeName = "xvfsDispatch"; xvfs_tclfs_dispatch_fs.structureLength = sizeof(xvfs_tclfs_dispatch_fs); xvfs_tclfs_dispatch_fs.version = TCL_FILESYSTEM_VERSION_1; xvfs_tclfs_dispatch_fs.pathInFilesystemProc = xvfs_tclfs_dispatch_pathInFS; xvfs_tclfs_dispatch_fs.dupInternalRepProc = NULL; xvfs_tclfs_dispatch_fs.freeInternalRepProc = NULL; xvfs_tclfs_dispatch_fs.internalToNormalizedProc = NULL; xvfs_tclfs_dispatch_fs.createInternalRepProc = NULL; xvfs_tclfs_dispatch_fs.normalizePathProc = NULL; xvfs_tclfs_dispatch_fs.filesystemPathTypeProc = NULL; xvfs_tclfs_dispatch_fs.filesystemSeparatorProc = NULL; |
︙ | ︙ |