From a0748c7c1088367b7667372f3aa8ed8213f0d6a6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?U-WIN-ENP104VVO3U=5CV=C3=ADtor=20Santos=20Costa?= Date: Mon, 6 Jun 2011 19:03:20 +0100 Subject: [PATCH] windows interface. --- Makefile.in | 10 ++++++---- console/LGPL/pl-ntcon.c | 6 +++--- console/LGPL/pl-ntconsole.c | 4 +++- packages/PLStream/pl-file.c | 10 +++++----- packages/PLStream/pl-incl.h | 2 ++ 5 files changed, 19 insertions(+), 13 deletions(-) diff --git a/Makefile.in b/Makefile.in index c7605f31e..f4f15c42d 100755 --- a/Makefile.in +++ b/Makefile.in @@ -565,13 +565,13 @@ pl-nt.o: $(srcdir)/packages/PLStream/pl-nt.c config.h $(CC) -c $(CFLAGS) -I$(srcdir)/include -I$(srcdir)/packages/PLStream @EXTRA_INCLUDES_FOR_WIN32@ $(srcdir)/packages/PLStream/pl-nt.c -o $@ pl-ntcon.o: $(srcdir)/console/LGPL/pl-ntcon.c config.h - $(CC) -c $(CFLAGS) -I$(srcdir)/include $(srcdir)/console/LGPL/pl-ntcon.c -o $@ + $(CC) -c $(CFLAGS) -DPL_CONSOLE=1 -I$(srcdir)/include $(srcdir)/console/LGPL/pl-ntcon.c -o $@ pl-ntconsole.o: $(srcdir)/console/LGPL/pl-ntconsole.c config.h - $(CC) -c $(CFLAGS) -I$(srcdir) -I$(srcdir)/include -I$(srcdir)/packages/PLStream @EXTRA_INCLUDES_FOR_WIN32@ $(srcdir)/console/LGPL/pl-ntconsole.c -o $@ + $(CC) -c $(CFLAGS) -DPL_CONSOLE=1 -I$(srcdir) -I$(srcdir)/include -I$(srcdir)/packages/PLStream @EXTRA_INCLUDES_FOR_WIN32@ $(srcdir)/console/LGPL/pl-ntconsole.c -o $@ pl-ntmain.o: $(srcdir)/console/LGPL/pl-ntmain.c config.h - $(CC) -c $(CFLAGS) -I$(srcdir)/include -I$(srcdir) -I$(srcdir)/packages/PLStream @EXTRA_INCLUDES_FOR_WIN32@ $(srcdir)/console/LGPL/pl-ntmain.c -o $@ + $(CC) -c $(CFLAGS) -DPL_CONSOLE=1 -I$(srcdir)/include -I$(srcdir) -I$(srcdir)/packages/PLStream @EXTRA_INCLUDES_FOR_WIN32@ $(srcdir)/console/LGPL/pl-ntmain.c -o $@ pl-buffer.o: $(srcdir)/packages/PLStream/pl-buffer.c config.h $(CC) -c $(CFLAGS) -I$(srcdir)/include -I$(srcdir) -I$(srcdir)/packages/PLStream @EXTRA_INCLUDES_FOR_WIN32@ $(srcdir)/packages/PLStream/pl-buffer.c -o $@ @@ -703,7 +703,9 @@ startup.yss: yap@EXEC_SUFFIX@ $(PL_SOURCES) yap@EXEC_SUFFIX@: $(HEADERS) yap.o @YAPLIB@ $(MPI_CC) $(EXECUTABLE_CFLAGS) $(LDFLAGS) -o yap yap.o @YAPLIB@ $(LIBS) @MPI_LIBS@ -plyap@EXEC_SUFFIX@: $(PLCONS_OBJECTS) $(HEADERS) @YAPLIB@ LGPL/swi_console/plterm.dll +plyap: pl-yap@EXEC_SUFFIX@ + +pl-yap@EXEC_SUFFIX@: $(PLCONS_OBJECTS) $(HEADERS) @YAPLIB@ LGPL/swi_console/plterm.dll (cd LGPL/swi_console; $(MAKE)) $(MPI_CC) $(EXECUTABLE_CFLAGS) $(LDFLAGS) -o pl-yap $(PLCONS_OBJECTS) LGPL/swi_console/plterm.dll @YAPLIB@ $(LIBS) @MPI_LIBS@ diff --git a/console/LGPL/pl-ntcon.c b/console/LGPL/pl-ntcon.c index 3e55b78fa..30201f2b7 100755 --- a/console/LGPL/pl-ntcon.c +++ b/console/LGPL/pl-ntcon.c @@ -76,13 +76,13 @@ main(int argc, char **argv) SetConsoleCtrlHandler((PHANDLER_ROUTINE)consoleHandlerRoutine, TRUE); #endif + if ( !PL_initialise(argc, argv) ) + PL_halt(1); + #if O_ANSI_COLORS PL_w32_wrap_ansi_console(); /* decode ANSI color sequences (ESC[...m) */ #endif - if ( !PL_initialise(argc, argv) ) - PL_halt(1); - PL_halt(PL_toplevel() ? 0 : 1); return 0; diff --git a/console/LGPL/pl-ntconsole.c b/console/LGPL/pl-ntconsole.c index 3a8137933..9fee9009e 100755 --- a/console/LGPL/pl-ntconsole.c +++ b/console/LGPL/pl-ntconsole.c @@ -1,4 +1,4 @@ -/* $Id$ + /* $Id$ Part of SWI-Prolog @@ -433,6 +433,8 @@ PL_w32_wrap_ansi_console(void) HANDLE hError = GetStdHandle(STD_ERROR_HANDLE); CONSOLE_SCREEN_BUFFER_INFO info; + fprintf(stderr,"main=%p %p\n",Sinput, Sinput->functions); + if ( hIn == INVALID_HANDLE_VALUE || hOut == INVALID_HANDLE_VALUE || hError == INVALID_HANDLE_VALUE || diff --git a/packages/PLStream/pl-file.c b/packages/PLStream/pl-file.c index 6fbd40cb4..e0654f221 100755 --- a/packages/PLStream/pl-file.c +++ b/packages/PLStream/pl-file.c @@ -339,12 +339,12 @@ initIO() streamContext = newHTable(16); PL_register_blob_type(&stream_blob); #ifdef __unix__ -{ int fd; + { int fd; - if ( (fd=Sfileno(Sinput)) < 0 || !isatty(fd) || - (fd=Sfileno(Soutput)) < 0 || !isatty(fd) ) - PL_set_prolog_flag("tty_control", PL_BOOL, FALSE); -} + if ( (fd=Sfileno(Sinput)) < 0 || !isatty(fd) || + (fd=Sfileno(Soutput)) < 0 || !isatty(fd) ) + PL_set_prolog_flag("tty_control", PL_BOOL, FALSE); + } #endif ResetTty(); #if __YAP_PROLOG__ diff --git a/packages/PLStream/pl-incl.h b/packages/PLStream/pl-incl.h index 80e3d5a82..362371302 100755 --- a/packages/PLStream/pl-incl.h +++ b/packages/PLStream/pl-incl.h @@ -5,7 +5,9 @@ #define O_GMP 1 #endif +#ifndef PL_CONSOLE #define PL_KERNEL 1 +#endif #ifdef __MINGW32__ #define O_XOS 1