From d7dcda96370d8e0fb037068b362546f860bcffd1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=9D=88?= Date: Sun, 1 Jul 2018 20:13:18 +0800 Subject: [PATCH 1/4] add an option --disable-x11 original commit: ab43608f22dc68497577ab527c782507144ef0e4 --- .vscode/settings.json | 5 +++++ c/version.h | 18 ++++++++++++++++++ configure | 9 +++++++++ 3 files changed, 32 insertions(+) create mode 100644 .vscode/settings.json diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000000..e8c4376e75 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,5 @@ +{ + "files.associations": { + "system.h": "c" + } +} \ No newline at end of file diff --git a/c/version.h b/c/version.h index ad9ac5c4c7..ebb4937a07 100644 --- a/c/version.h +++ b/c/version.h @@ -14,6 +14,8 @@ * limitations under the License. */ +#include "config.h" + #if (machine_type == machine_type_arm32le || machine_type == machine_type_tarm32le || machine_type == machine_type_arm64le || machine_type == machine_type_tarm64le) #if (machine_type == machine_type_tarm32le || machine_type == machine_type_tarm64le) #define PTHREADS @@ -34,7 +36,9 @@ typedef int tputsputcchar; #define LOCKF #define DIRMARKERP(c) ((c) == '/') #define FLUSHCACHE +#ifndef DISABLE_X11 #define LIBX11 "libX11.so" +#endif #define LSEEK lseek64 #define OFF_T off64_t #define _LARGEFILE64_SOURCE @@ -67,7 +71,9 @@ typedef int tputsputcchar; #define LOCKF #define DIRMARKERP(c) ((c) == '/') #define FLUSHCACHE +#ifndef DISABLE_X11 #define LIBX11 "libX11.so" +#endif #define LSEEK lseek64 #define OFF_T off64_t #define _LARGEFILE64_SOURCE @@ -100,7 +106,9 @@ typedef char *memcpy_t; typedef int tputsputcchar; #define LOCKF #define DIRMARKERP(c) ((c) == '/') +#ifndef DISABLE_X11 #define LIBX11 "libX11.so" +#endif #define LSEEK lseek64 #define OFF_T off64_t #define _LARGEFILE64_SOURCE @@ -133,7 +141,9 @@ typedef char *memcpy_t; typedef int tputsputcchar; #define LOCKF #define DIRMARKERP(c) ((c) == '/') +#ifndef DISABLE_X11 #define LIBX11 "libX11.so" +#endif #define SECATIME(sb) (sb).st_atimespec.tv_sec #define SECCTIME(sb) (sb).st_ctimespec.tv_sec #define SECMTIME(sb) (sb).st_mtimespec.tv_sec @@ -164,7 +174,9 @@ typedef char *memcpy_t; typedef int tputsputcchar; #define LOCKF #define DIRMARKERP(c) ((c) == '/') +#ifndef DISABLE_X11 #define LIBX11 "libX11.so" +#endif #define SECATIME(sb) (sb).st_atimespec.tv_sec #define SECCTIME(sb) (sb).st_ctimespec.tv_sec #define SECMTIME(sb) (sb).st_mtimespec.tv_sec @@ -248,7 +260,9 @@ typedef char *memcpy_t; typedef int tputsputcchar; #define LOCKF #define DIRMARKERP(c) ((c) == '/') +#ifndef DISABLE_X11 #define LIBX11 "libX11.so" +#endif #define SECATIME(sb) (sb).st_atimespec.tv_sec #define SECCTIME(sb) (sb).st_ctimespec.tv_sec #define SECMTIME(sb) (sb).st_mtimespec.tv_sec @@ -279,7 +293,9 @@ typedef char *memcpy_t; typedef int tputsputcchar; #define LOCKF #define DIRMARKERP(c) ((c) == '/') +#ifndef DISABLE_X11 #define LIBX11 "/usr/X11R6/lib/libX11.dylib" +#endif #define _DARWIN_USE_64_BIT_INODE #define SECATIME(sb) (sb).st_atimespec.tv_sec #define SECCTIME(sb) (sb).st_ctimespec.tv_sec @@ -346,7 +362,9 @@ typedef char *memcpy_t; typedef char tputsputcchar; #define LOCKF #define DIRMARKERP(c) ((c) == '/') +#ifndef DISABLE_X11 #define LIBX11 "libX11.so" +#endif #define SECATIME(sb) (sb).st_atim.tv_sec #define SECCTIME(sb) (sb).st_ctim.tv_sec #define SECMTIME(sb) (sb).st_mtim.tv_sec diff --git a/configure b/configure index e98b581269..ca9c3398b6 100755 --- a/configure +++ b/configure @@ -37,6 +37,7 @@ installman="" installschemename="scheme" installpetitename="petite" installscriptname="scheme-script" +disablex11=no : ${CC:="gcc"} : ${CPPFLAGS:=""} : ${CFLAGS:=""} @@ -200,6 +201,9 @@ while [ $# != 0 ] ; do --help) help=yes ;; + --disable-x11) + disablex11=yes + ;; CC=*) CC=`echo $1 | sed -e 's/^CC=//'` ;; @@ -266,6 +270,7 @@ if [ "$help" = "yes" ]; then echo " -m= same as --machine ($m)" echo " --threads specify threaded version ($threads)" echo " --32|--64 specify 32/64-bit version ($bits)" + echo " --disable-x11 disabling x11" echo " --installprefix= final installation root ($installprefix)" echo " --installbin= bin directory ($installbin)" echo " --installlib= lib directory ($installlib)" @@ -368,6 +373,10 @@ cat > $w/c/config.h << END #endif END +if [ "$disablex11" = "yes" ]; then + echo '#define DISABLE_X11' >> $w/c/config.h +fi + cat > $w/c/Mf-config << END CC=$CC CPPFLAGS=$CPPFLAGS From da2799034e4daf966769ffa6314b8237e0e8c770 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=9D=88?= Date: Sun, 1 Jul 2018 20:14:06 +0800 Subject: [PATCH 2/4] remove vscode-related file original commit: f6d040b5c54f760c77eedde2fef26c27f59a0eba --- .vscode/settings.json | 5 ----- 1 file changed, 5 deletions(-) delete mode 100644 .vscode/settings.json diff --git a/.vscode/settings.json b/.vscode/settings.json deleted file mode 100644 index e8c4376e75..0000000000 --- a/.vscode/settings.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "files.associations": { - "system.h": "c" - } -} \ No newline at end of file From 820563b5b65db0445ef18ab9a4e639727c28921c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=9D=88?= Date: Sun, 1 Jul 2018 20:20:03 +0800 Subject: [PATCH 3/4] update log original commit: e8059074dd0a81ed825e15b1d32fb385f8ec994b --- LOG | 2 ++ 1 file changed, 2 insertions(+) diff --git a/LOG b/LOG index a16538db4a..b0623bb23e 100644 --- a/LOG +++ b/LOG @@ -960,3 +960,5 @@ schlib.c - Updated csug socket code to match that in examples folder csug/foreign.stex, examples/socket.ss +- add an option --disable-x11 + c/version.h, configure From c090b317bd155edc0dcf0296c6fb0fb4c70ab0d9 Mon Sep 17 00:00:00 2001 From: Andy Keep Date: Sun, 1 Jul 2018 11:45:10 -0400 Subject: [PATCH 4/4] allow s_ee_get_clipboard to use the pastebuffer on macOS even when X11 is not available. expeditor.c original commit: f8cf536720fe43d07ca83d284e5bd1733c97372a --- LOG | 3 +++ c/expeditor.c | 10 +++++----- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/LOG b/LOG index b0623bb23e..3fe7ea217c 100644 --- a/LOG +++ b/LOG @@ -962,3 +962,6 @@ csug/foreign.stex, examples/socket.ss - add an option --disable-x11 c/version.h, configure +- allow s_ee_get_clipboard to use the pastebuffer on macOS even when X11 is not + available. + expeditor.c diff --git a/c/expeditor.c b/c/expeditor.c index 84c38971ca..78f6be3bfb 100644 --- a/c/expeditor.c +++ b/c/expeditor.c @@ -888,8 +888,10 @@ static void s_ee_line_feed(void) { #include #include #include +#endif /* LIBX11 */ static ptr s_ee_get_clipboard(void) { +#ifdef LIBX11 static enum {UNINITIALIZED, INITIALIZED, FAILED} status = UNINITIALIZED; static int (*pXConvertSelection)(Display *, Atom, Atom, Atom, Window, Time); static int (*pXPending)(Display *display); @@ -899,9 +901,11 @@ static ptr s_ee_get_clipboard(void) { static Display *D; static Window R, W; +#endif /* LIBX11 */ ptr p = S_G.null_string; +#ifdef LIBX11 if (status == UNINITIALIZED) { char *display_name; void *handle; @@ -986,6 +990,7 @@ static ptr s_ee_get_clipboard(void) { } } } +#endif /* LIBX11 */ #ifdef MACOSX #define PBPASTEBUFSIZE 1024 @@ -1013,11 +1018,6 @@ static ptr s_ee_get_clipboard(void) { return p; } -#else /* LIBX11 */ -static ptr s_ee_get_clipboard(void) { - return S_G.null_string; -} -#endif static void s_ee_write_char(wchar_t wch) { locale_t old; char buf[MB_LEN_MAX]; size_t n;