diff options
-rw-r--r-- | src/hyper/node.h | 12 | ||||
-rw-r--r-- | src/lib/cfuns-c.c | 6 | ||||
-rw-r--r-- | src/lisp/Makefile.in | 13 |
3 files changed, 20 insertions, 11 deletions
diff --git a/src/hyper/node.h b/src/hyper/node.h index 575d4229..fadc575f 100644 --- a/src/hyper/node.h +++ b/src/hyper/node.h @@ -50,12 +50,12 @@ typedef GC openaxiom_graphic_context; typedef XFontStruct openaxiom_font; typedef Cursor openaxiom_cursor; #else /* X_DISPLAY_MISSING */ -typedef openaxiom_handle openaxiom_window; -typedef openaxiom_handle openaxiom_pixmap; -typedef openaxiom_handle openaxiom_image; -typedef openaxiom_handle openaxiom_graphic_context; -typedef openaxiom_handle openaxiom_cursor; -typedef openaxiom_handle openaxiom_font; +typedef OpenAxiom::Handle openaxiom_window; +typedef OpenAxiom::Handle openaxiom_pixmap; +typedef OpenAxiom::Handle openaxiom_image; +typedef OpenAxiom::Handle openaxiom_graphic_context; +typedef OpenAxiom::Handle openaxiom_cursor; +typedef OpenAxiom::Handle openaxiom_font; #endif /* X_DISPLAY_MISSING */ /* Struct forward declarations */ diff --git a/src/lib/cfuns-c.c b/src/lib/cfuns-c.c index 572b7835..a4ae8f39 100644 --- a/src/lib/cfuns-c.c +++ b/src/lib/cfuns-c.c @@ -620,7 +620,7 @@ oa_getcwd(void) exit(-1); } else if (n > bufsz) { - buf = realloc(buf,n); + buf = (char*) realloc(buf,n); if (GetCurrentDirectory(n, buf) != n) { perror("oa_getcwd"); exit(-1); @@ -787,7 +787,7 @@ oa_spawn(Process* proc, SpawnFlags flags) } cmd_line[curpos] = '\0'; - if ((flags & openaxiom_spawn_search_path) == 0) + if ((flags & spawn_search_path) == 0) path = proc->argv[0]; if(CreateProcess(/* lpApplicationName */ path, @@ -804,7 +804,7 @@ oa_spawn(Process* proc, SpawnFlags flags) return proc->id = -1; } proc->id = proc_info.dwProcessId; - if ((flags & openaxiom_spawn_replace) == 0) + if ((flags & spawn_replace) == 0) return proc->id; WaitForSingleObject(proc_info.hProcess, INFINITE); GetExitCodeProcess(proc_info.hProcess, &status); diff --git a/src/lisp/Makefile.in b/src/lisp/Makefile.in index 295c5eeb..77c8edb8 100644 --- a/src/lisp/Makefile.in +++ b/src/lisp/Makefile.in @@ -47,7 +47,7 @@ build_libdir = ./$(top_builddir)/src/lib ## Consequently we temporarily give up here, e.g., we don't ## instruct GCL to use Libtool on Windows. GCL_LTCC = $(if $(findstring mingw, $(target)),"","$(LIBTOOL) --tag=CC --mode=compile ") -GCL_LTLD = $(if $(findstring mingw, $(target)),"$(CXX) $(LDFLAGS) -o ","$(CXXLINK) -o ") +GCL_LTLD = $(if $(findstring mingw, $(target)),"$(CXX) $(LDFLAGS) ","$(CXXLINK) ") ## Again, ideally, we would like GCL to link with the compiled Lisp ## code from core.lisp. However, the general interface compiler::link @@ -90,13 +90,22 @@ lisp_c_objects = \ $(build_libdir)/cfuns-c.$(OBJEXT) \ $(build_libdir)/sockio-c.$(OBJEXT) +## The splitting shenaningan below about GCL's COMPILER::*LD* is because +## GCL does not -- currently -- separate the linker proper from arguments, +## therefore forcing us to use brittle tricks to guess what the linker is. + $(OUT)/lisp$(EXEEXT): base-lisp$(EXEEXT) ifeq (@axiom_lisp_flavor@,gcl) echo '(let* ((sys-cc compiler::*cc*) ' \ + ' (sys-ld compiler::*ld*) ' \ ' (compiler::*cc* (concatenate (quote string) ' \ ' $(GCL_LTCC) ' \ ' sys-cc)) ' \ - ' (compiler::*ld* (if (member :mingw32 *features*) compiler::*ld* $(GCL_LTLD)))) ' \ + ' (compiler::*ld* ' \ + ' (concatenate (quote string) ' \ + ' $(GCL_LTLD) ' \ + ' (subseq sys-ld ' \ + ' (position (character " ") sys-ld))))) ' \ '(compiler::link (quote ($(FASLS))) "lisp$(EXEEXT)" ' \ ' (format nil "(progn (let ((*load-path* (cons ~S *load-path*))'\ ' (si::*load-types* ~S)))' \ |