support windows compilation, upgrade to current uxnt.

This commit is contained in:
U-WIN-U2045GN0RNQ\Vítor Santos Costa 2011-03-09 00:02:21 +00:00
parent e4275b6361
commit 752fa4fc53
8 changed files with 53 additions and 55 deletions

View File

@ -554,70 +554,70 @@ pl-ntmain.o: $(srcdir)/console/LGPL/pl-ntmain.c config.h
$(CC) -c $(CFLAGS) -I$(srcdir)/include -I$(srcdir) -I$(srcdir)/packages/PLStream $(srcdir)/console/LGPL/pl-ntmain.c -o $@ $(CC) -c $(CFLAGS) -I$(srcdir)/include -I$(srcdir) -I$(srcdir)/packages/PLStream $(srcdir)/console/LGPL/pl-ntmain.c -o $@
pl-buffer.o: $(srcdir)/packages/PLStream/pl-buffer.c pl-buffer.o: $(srcdir)/packages/PLStream/pl-buffer.c
$(CC) -c $(CFLAGS) -I$(srcdir)/include -I$(srcdir) -I$(srcdir)/packages/PLStream $(srcdir)/packages/PLStream/pl-buffer.c -o $@ $(CC) -c $(CFLAGS) -I$(srcdir)/include -I$(srcdir) -I$(srcdir)/packages/PLStream -I$(srcdir)/packages/PLStream/windows $(srcdir)/packages/PLStream/pl-buffer.c -o $@
pl-codelist.o: $(srcdir)/packages/PLStream/pl-codelist.c pl-codelist.o: $(srcdir)/packages/PLStream/pl-codelist.c
$(CC) -c $(CFLAGS) -I$(srcdir)/include -I$(srcdir) -I$(srcdir)/packages/PLStream $(srcdir)/packages/PLStream/pl-codelist.c -o $@ $(CC) -c $(CFLAGS) -I$(srcdir)/include -I$(srcdir) -I$(srcdir)/packages/PLStream -I$(srcdir)/packages/PLStream/windows $(srcdir)/packages/PLStream/pl-codelist.c -o $@
pl-ctype.o: $(srcdir)/packages/PLStream/pl-ctype.c pl-ctype.o: $(srcdir)/packages/PLStream/pl-ctype.c
$(CC) -c $(CFLAGS) -I$(srcdir)/include -I$(srcdir) -I$(srcdir)/packages/PLStream $(srcdir)/packages/PLStream/pl-ctype.c -o $@ $(CC) -c $(CFLAGS) -I$(srcdir)/include -I$(srcdir) -I$(srcdir)/packages/PLStream -I$(srcdir)/packages/PLStream/windows $(srcdir)/packages/PLStream/pl-ctype.c -o $@
pl-dtoa.o: $(srcdir)/packages/PLStream/pl-dtoa.c pl-dtoa.o: $(srcdir)/packages/PLStream/pl-dtoa.c
$(CC) -c $(CFLAGS) -I$(srcdir)/include -I$(srcdir) -I$(srcdir)/packages/PLStream $(srcdir)/packages/PLStream/pl-dtoa.c -o $@ $(CC) -c $(CFLAGS) -I$(srcdir)/include -I$(srcdir) -I$(srcdir)/packages/PLStream -I$(srcdir)/packages/PLStream/windows $(srcdir)/packages/PLStream/pl-dtoa.c -o $@
pl-error.o: $(srcdir)/packages/PLStream/pl-error.c pl-error.o: $(srcdir)/packages/PLStream/pl-error.c
$(CC) -c $(CFLAGS) -I$(srcdir)/include -I$(srcdir) -I$(srcdir)/packages/PLStream $(srcdir)/packages/PLStream/pl-error.c -o $@ $(CC) -c $(CFLAGS) -I$(srcdir)/include -I$(srcdir) -I$(srcdir)/packages/PLStream -I$(srcdir)/packages/PLStream/windows $(srcdir)/packages/PLStream/pl-error.c -o $@
pl-file.o: $(srcdir)/packages/PLStream/pl-file.c pl-file.o: $(srcdir)/packages/PLStream/pl-file.c
$(CC) -c $(CFLAGS) -I$(srcdir)/include -I$(srcdir) -I$(srcdir)/packages/PLStream $(srcdir)/packages/PLStream/pl-file.c -o $@ $(CC) -c $(CFLAGS) -I$(srcdir)/include -I$(srcdir) -I$(srcdir)/packages/PLStream -I$(srcdir)/packages/PLStream/windows $(srcdir)/packages/PLStream/pl-file.c -o $@
pl-files.o: $(srcdir)/packages/PLStream/pl-files.c pl-files.o: $(srcdir)/packages/PLStream/pl-files.c
$(CC) -c $(CFLAGS) -I$(srcdir)/include -I$(srcdir) -I$(srcdir)/packages/PLStream $(srcdir)/packages/PLStream/pl-files.c -o $@ $(CC) -c $(CFLAGS) -I$(srcdir)/include -I$(srcdir) -I$(srcdir)/packages/PLStream -I$(srcdir)/packages/PLStream/windows $(srcdir)/packages/PLStream/pl-files.c -o $@
pl-fmt.o: $(srcdir)/packages/PLStream/pl-fmt.c pl-fmt.o: $(srcdir)/packages/PLStream/pl-fmt.c
$(CC) -c $(CFLAGS) -I$(srcdir)/include -I$(srcdir) -I$(srcdir)/packages/PLStream $(srcdir)/packages/PLStream/pl-fmt.c -o $@ $(CC) -c $(CFLAGS) -I$(srcdir)/include -I$(srcdir) -I$(srcdir)/packages/PLStream -I$(srcdir)/packages/PLStream/windows $(srcdir)/packages/PLStream/pl-fmt.c -o $@
pl-glob.o: $(srcdir)/packages/PLStream/pl-glob.c pl-glob.o: $(srcdir)/packages/PLStream/pl-glob.c
$(CC) -c $(CFLAGS) -I$(srcdir)/include -I$(srcdir) -I$(srcdir)/packages/PLStream $(srcdir)/packages/PLStream/pl-glob.c -o $@ $(CC) -c $(CFLAGS) -I$(srcdir)/include -I$(srcdir) -I$(srcdir)/packages/PLStream -I$(srcdir)/packages/PLStream/windows $(srcdir)/packages/PLStream/pl-glob.c -o $@
pl-option.o: $(srcdir)/packages/PLStream/pl-option.c pl-option.o: $(srcdir)/packages/PLStream/pl-option.c
$(CC) -c $(CFLAGS) -I$(srcdir)/include -I$(srcdir) -I$(srcdir)/packages/PLStream $(srcdir)/packages/PLStream/pl-option.c -o $@ $(CC) -c $(CFLAGS) -I$(srcdir)/include -I$(srcdir) -I$(srcdir)/packages/PLStream -I$(srcdir)/packages/PLStream/windows $(srcdir)/packages/PLStream/pl-option.c -o $@
pl-os.o: $(srcdir)/packages/PLStream/pl-os.c pl-os.o: $(srcdir)/packages/PLStream/pl-os.c
$(CC) -c $(CFLAGS) -I$(srcdir)/include -I$(srcdir) -I$(srcdir)/packages/PLStream $(srcdir)/packages/PLStream/pl-os.c -o $@ $(CC) -c $(CFLAGS) -I$(srcdir)/include -I$(srcdir) -I$(srcdir)/packages/PLStream -I$(srcdir)/packages/PLStream/windows $(srcdir)/packages/PLStream/pl-os.c -o $@
pl-privitf.o: $(srcdir)/packages/PLStream/pl-privitf.c pl-privitf.o: $(srcdir)/packages/PLStream/pl-privitf.c
$(CC) -c $(CFLAGS) -I$(srcdir)/include -I$(srcdir) -I$(srcdir)/packages/PLStream $(srcdir)/packages/PLStream/pl-privitf.c -o $@ $(CC) -c $(CFLAGS) -I$(srcdir)/include -I$(srcdir) -I$(srcdir)/packages/PLStream -I$(srcdir)/packages/PLStream/windows $(srcdir)/packages/PLStream/pl-privitf.c -o $@
pl-rl.o: $(srcdir)/packages/PLStream/pl-rl.c pl-rl.o: $(srcdir)/packages/PLStream/pl-rl.c
$(CC) -c $(CFLAGS) -I$(srcdir)/include -I$(srcdir) -I$(srcdir)/packages/PLStream $(srcdir)/packages/PLStream/pl-rl.c -o $@ $(CC) -c $(CFLAGS) -I$(srcdir)/include -I$(srcdir) -I$(srcdir)/packages/PLStream -I$(srcdir)/packages/PLStream/windows $(srcdir)/packages/PLStream/pl-rl.c -o $@
pl-read.o: $(srcdir)/packages/PLStream/pl-read.c pl-read.o: $(srcdir)/packages/PLStream/pl-read.c
$(CC) -c $(CFLAGS) -I$(srcdir)/include -I$(srcdir) -I$(srcdir)/packages/PLStream $(srcdir)/packages/PLStream/pl-read.c -o $@ $(CC) -c $(CFLAGS) -I$(srcdir)/include -I$(srcdir) -I$(srcdir)/packages/PLStream -I$(srcdir)/packages/PLStream/windows $(srcdir)/packages/PLStream/pl-read.c -o $@
pl-stream.o: $(srcdir)/packages/PLStream/pl-stream.c pl-stream.o: $(srcdir)/packages/PLStream/pl-stream.c
$(CC) -c $(CFLAGS) -I$(srcdir)/include -I$(srcdir) -I$(srcdir)/packages/PLStream -I$(srcdir)/packages/PLStream/windows $(srcdir)/packages/PLStream/pl-stream.c -o $@ $(CC) -c $(CFLAGS) -I$(srcdir)/include -I$(srcdir) -I$(srcdir)/packages/PLStream -I$(srcdir)/packages/PLStream/windows $(srcdir)/packages/PLStream/pl-stream.c -o $@
pl-string.o: $(srcdir)/packages/PLStream/pl-string.c pl-string.o: $(srcdir)/packages/PLStream/pl-string.c
$(CC) -c $(CFLAGS) -I$(srcdir)/include -I$(srcdir) -I$(srcdir)/packages/PLStream $(srcdir)/packages/PLStream/pl-string.c -o $@ $(CC) -c $(CFLAGS) -I$(srcdir)/include -I$(srcdir) -I$(srcdir)/packages/PLStream -I$(srcdir)/packages/PLStream/windows $(srcdir)/packages/PLStream/pl-string.c -o $@
pl-table.o: $(srcdir)/packages/PLStream/pl-table.c pl-table.o: $(srcdir)/packages/PLStream/pl-table.c
$(CC) -c $(CFLAGS) -I$(srcdir)/include -I$(srcdir) -I$(srcdir)/packages/PLStream $(srcdir)/packages/PLStream/pl-table.c -o $@ $(CC) -c $(CFLAGS) -I$(srcdir)/include -I$(srcdir) -I$(srcdir)/packages/PLStream -I$(srcdir)/packages/PLStream/windows $(srcdir)/packages/PLStream/pl-table.c -o $@
pl-text.o: $(srcdir)/packages/PLStream/pl-text.c pl-text.o: $(srcdir)/packages/PLStream/pl-text.c
$(CC) -c $(CFLAGS) -I$(srcdir)/include -I$(srcdir) -I$(srcdir)/packages/PLStream $(srcdir)/packages/PLStream/pl-text.c -o $@ $(CC) -c $(CFLAGS) -I$(srcdir)/include -I$(srcdir) -I$(srcdir)/packages/PLStream -I$(srcdir)/packages/PLStream/windows $(srcdir)/packages/PLStream/pl-text.c -o $@
pl-utf8.o: $(srcdir)/packages/PLStream/pl-utf8.c pl-utf8.o: $(srcdir)/packages/PLStream/pl-utf8.c
$(CC) -c $(CFLAGS) -I$(srcdir)/include -I$(srcdir) -I$(srcdir)/packages/PLStream $(srcdir)/packages/PLStream/pl-utf8.c -o $@ $(CC) -c $(CFLAGS) -I$(srcdir)/include -I$(srcdir) -I$(srcdir)/packages/PLStream -I$(srcdir)/packages/PLStream/windows $(srcdir)/packages/PLStream/pl-utf8.c -o $@
pl-write.o: $(srcdir)/packages/PLStream/pl-write.c pl-write.o: $(srcdir)/packages/PLStream/pl-write.c
$(CC) -c $(CFLAGS) -I$(srcdir)/include -I$(srcdir) -I$(srcdir)/packages/PLStream $(srcdir)/packages/PLStream/pl-write.c -o $@ $(CC) -c $(CFLAGS) -I$(srcdir)/include -I$(srcdir) -I$(srcdir)/packages/PLStream -I$(srcdir)/packages/PLStream/windows $(srcdir)/packages/PLStream/pl-write.c -o $@
pl-yap.o: $(srcdir)/packages/PLStream/pl-yap.c pl-yap.o: $(srcdir)/packages/PLStream/pl-yap.c
$(CC) -c $(CFLAGS) -I$(srcdir)/include -I$(srcdir) -I$(srcdir)/packages/PLStream $(srcdir)/packages/PLStream/pl-yap.c -o $@ $(CC) -c $(CFLAGS) -I$(srcdir)/include -I$(srcdir) -I$(srcdir)/packages/PLStream -I$(srcdir)/packages/PLStream/windows $(srcdir)/packages/PLStream/pl-yap.c -o $@
uxnt.o: $(srcdir)/packages/PLStream/windows/uxnt.c uxnt.o: $(srcdir)/packages/PLStream/windows/uxnt.c
$(CC) -c $(CFLAGS) -I$(srcdir)/include -I$(srcdir) -I$(srcdir)/packages/PLStream $(srcdir)/packages/PLStream/windows/uxnt.c -o $@ $(CC) -c $(CFLAGS) -I$(srcdir)/include -I$(srcdir) -I$(srcdir)/packages/PLStream -I$(srcdir)/packages/PLStream/windows $(srcdir)/packages/PLStream/windows/uxnt.c -o $@
# default rule # default rule
%.o : $(srcdir)/C/%.c config.h %.o : $(srcdir)/C/%.c config.h

2
packages/CLPBN/clpbn/bp/Makefile.in Normal file → Executable file
View File

@ -92,7 +92,7 @@ xmlParser.o : $(srcdir)/xmlParser/xmlParser.cpp
$(CXX) -c $(CXXFLAGS) $< -o $@ $(CXX) -c $(CXXFLAGS) $< -o $@
@DO_SECOND_LD@horus.@SO@: $(OBJS) @DO_SECOND_LD@horus.@SO@: $(OBJS)
@DO_SECOND_LD@ @SHLIB_CXX_LD@ -o horus.@SO@ $(OBJS) @DO_SECOND_LD@ @SHLIB_CXX_LD@ -o horus.@SO@ $(OBJS) @EXTRA_LIBS_FOR_SWIDLLS@
biftest: $(BIF_OBJS) biftest: $(BIF_OBJS)
$(CXX) -o biftest $(BIF_OBJS) $(CXX) -o biftest $(BIF_OBJS)

View File

@ -16,6 +16,10 @@
#endif #endif
#include "Yap.h" #include "Yap.h"
#ifdef __WINDOWS__
#include <windows.h>
#include <uxnt.h>
#endif
#include "YapHeap.h" #include "YapHeap.h"
/* try not to pollute the SWI space */ /* try not to pollute the SWI space */
#ifdef P #ifdef P
@ -138,9 +142,6 @@ typedef enum
#if HAVE_SYS_PARAM_H #if HAVE_SYS_PARAM_H
#include <sys/param.h> //MAXPATHLEN #include <sys/param.h> //MAXPATHLEN
#endif #endif
#ifdef __WINDOWS__
#include <windows.h>
#endif
#if __YAP_PROLOG__ #if __YAP_PROLOG__
#include "pl-yap.h" #include "pl-yap.h"
#if _WIN32 #if _WIN32
@ -583,17 +584,6 @@ typedef double real;
/* uxnt package interface */ /* uxnt package interface */
#if defined(__YAP_PROLOG__) && defined(__MINGW32__) #if defined(__YAP_PROLOG__) && defined(__MINGW32__)
#define O_XOS 1
#define _XOS_ISFILE 0x01
#define _XOS_ISDIR 0x02
#define _XOS_FILE 0x0001 /* is a file */
#define _XOS_DIR 0x0002 /* is a directory */
#define XOS_DOWNCASE 0x01 /* _xos_canonical_filename() */
#define statfunc stat
#ifndef __WINDOWS__ #ifndef __WINDOWS__
#define __WINDOWS__ 1 #define __WINDOWS__ 1

View File

@ -26,6 +26,9 @@
#define _UNICODE 1 #define _UNICODE 1
#define _UXNT_KERNEL 1 #define _UXNT_KERNEL 1
#include "uxnt.h" /* my prototypes */
#include "utf8.c"
#include <windows.h> #include <windows.h>
#include <tchar.h> #include <tchar.h>
#include <wchar.h> #include <wchar.h>
@ -44,9 +47,6 @@
#endif #endif
#include <errno.h> #include <errno.h>
#include "uxnt.h" /* my prototypes */
#include "utf8.c"
#ifndef TRUE #ifndef TRUE
#define TRUE 1 #define TRUE 1
#define FALSE 0 #define FALSE 0
@ -293,7 +293,7 @@ _xos_os_filename(const char *cname, char *osname, size_t len)
if ( !_xos_os_filenameW(cname, buf, PATH_MAX) ) if ( !_xos_os_filenameW(cname, buf, PATH_MAX) )
return NULL; return NULL;
return wcstoutf8(osname, buf, len); return wcstoutf8(osname, buf, len);
} }
@ -319,7 +319,7 @@ _xos_canonical_filenameW(const wchar_t *spec,
for(; *s; s++) for(; *s; s++)
{ int c = *s; { int c = *s;
if ( c == '\\' ) if ( c == '\\' )
{ c = '/'; { c = '/';
} else if ( (flags&XOS_DOWNCASE) ) } else if ( (flags&XOS_DOWNCASE) )
@ -344,7 +344,7 @@ _xos_canonical_filename(const char *spec, char *xname, size_t len, int flags)
if ( !utf8towcs(buf, spec, PATH_MAX) ) if ( !utf8towcs(buf, spec, PATH_MAX) )
return NULL; return NULL;
return _xos_canonical_filenameW(buf, xname, len, flags); return _xos_canonical_filenameW(buf, xname, len, flags);
} }
@ -521,7 +521,7 @@ _xos_limited_os_filename(const char *spec, char *limited)
while(*i) while(*i)
{ int wc; { int wc;
i = utf8_get_char(i, &wc); i = utf8_get_char(i, &wc);
wc = towlower((wchar_t)wc); wc = towlower((wchar_t)wc);
o = utf8_put_char(o, wc); o = utf8_put_char(o, wc);
@ -541,7 +541,7 @@ _xos_open(const char *path, int access, ...)
{ va_list args; { va_list args;
TCHAR buf[PATH_MAX]; TCHAR buf[PATH_MAX];
int mode; int mode;
va_start(args, access); va_start(args, access);
mode = va_arg(args, int); mode = va_arg(args, int);
va_end(args); va_end(args);
@ -647,18 +647,22 @@ _xos_rename(const char *old, const char *new)
!_xos_os_filenameW(new, osnew, PATH_MAX) ) !_xos_os_filenameW(new, osnew, PATH_MAX) )
return -1; return -1;
return _wrename(osold, osnew); if ( MoveFileEx(osold, osnew, MOVEFILE_REPLACE_EXISTING) )
return 0;
errno = EPERM;
return -1; /* TBD: map error codes */
} }
int int
_xos_stat(const char *path, struct _stat *sbuf) _xos_stat(const char *path, struct _stati64 *sbuf)
{ TCHAR buf[PATH_MAX]; { TCHAR buf[PATH_MAX];
if ( !_xos_os_filenameW(path, buf, PATH_MAX) ) if ( !_xos_os_filenameW(path, buf, PATH_MAX) )
return -1; return -1;
return _wstat(buf, sbuf); return _wstati64(buf, sbuf);
} }
@ -699,11 +703,14 @@ opendir(const char *path)
DIR *dp = malloc(sizeof(DIR)); DIR *dp = malloc(sizeof(DIR));
if ( !_xos_os_filenameW(path, buf, PATH_MAX-4) ) if ( !_xos_os_filenameW(path, buf, PATH_MAX-4) )
{ free(dp);
return NULL; return NULL;
}
_tcscat(buf, _T("\\*.*")); _tcscat(buf, _T("\\*.*"));
if ( !(dp->data = malloc(sizeof(WIN32_FIND_DATA))) ) if ( !(dp->data = malloc(sizeof(WIN32_FIND_DATA))) )
{ errno = ENOMEM; { free(dp);
errno = ENOMEM;
return NULL; return NULL;
} }
dp->first = 1; dp->first = 1;
@ -712,6 +719,7 @@ opendir(const char *path)
if ( dp->handle == INVALID_HANDLE_VALUE ) if ( dp->handle == INVALID_HANDLE_VALUE )
{ if ( _waccess(buf, 04) ) /* does not exist */ { if ( _waccess(buf, 04) ) /* does not exist */
{ free(dp->data); { free(dp->data);
free(dp);
return NULL; return NULL;
} }
} }
@ -825,6 +833,7 @@ _xos_getcwd(char *buf, size_t len)
return NULL; return NULL;
} }
/******************************* /*******************************
* ENVIRONMENT * * ENVIRONMENT *
*******************************/ *******************************/
@ -853,7 +862,7 @@ _xos_getenv(const char *name, char *buf, size_t buflen)
rc = strlen(buf); rc = strlen(buf);
else else
rc = wcutf8len(valp); rc = wcutf8len(valp);
if ( valp != val ) if ( valp != val )
free(valp); free(valp);

4
packages/PLStream/windows/uxnt.h Normal file → Executable file
View File

@ -33,6 +33,7 @@
#endif #endif
#include <sys/types.h> #include <sys/types.h>
#include <sys/stat.h>
#include <stdio.h> #include <stdio.h>
#include <io.h> #include <io.h>
#include <direct.h> #include <direct.h>
@ -45,7 +46,6 @@ typedef intptr_t ssize_t; /* signed version of size_t */
#endif #endif
#ifndef _UXNT_KERNEL #ifndef _UXNT_KERNEL
#include <sys/stat.h>
#undef remove #undef remove
#undef rename #undef rename
@ -133,7 +133,7 @@ _export int _xos_access(const char *path, int mode);
_export int _xos_chmod(const char *path, int mode); _export int _xos_chmod(const char *path, int mode);
_export int _xos_remove(const char *path); _export int _xos_remove(const char *path);
_export int _xos_rename(const char *old, const char *newname); _export int _xos_rename(const char *old, const char *newname);
_export int _xos_stat(const char *path, struct _stat *sbuf); _export int _xos_stat(const char *path, struct _stati64 *sbuf);
_export int _xos_chdir(const char *path); _export int _xos_chdir(const char *path);
_export int _xos_mkdir(const char *path, int mode); _export int _xos_mkdir(const char *path, int mode);
_export int _xos_rmdir(const char *path); _export int _xos_rmdir(const char *path);

View File

@ -20,7 +20,7 @@ YAPLIBDIR=@libdir@/Yap
# #
DEFS=@DEFS@ -D_YAP_NOT_INSTALLED_=1 DEFS=@DEFS@ -D_YAP_NOT_INSTALLED_=1
CC=@CC@ CC=@CC@
CFLAGS= @SHLIB_CFLAGS@ $(YAP_EXTRAS) $(DEFS) -I$(srcdir) -I../.. -I$(srcdir)/../../include -I$(srcdir)/../PLStream -I$(srcdir)/../../H CFLAGS= @SHLIB_CFLAGS@ $(YAP_EXTRAS) $(DEFS) -I$(srcdir) -I../.. -I$(srcdir)/../../include -I$(srcdir)/../PLStream -I$(srcdir)/../PLStream/windows -I$(srcdir)/../../H
# #
# #
# You shouldn't need to change what follows. # You shouldn't need to change what follows.

View File

@ -238,7 +238,6 @@ true :- true.
% then we can execute the programs. % then we can execute the programs.
'$startup_goals' :- '$startup_goals' :-
recorded('$startup_goal',G,_), recorded('$startup_goal',G,_),
writeln(G),
'$current_module'(Module), '$current_module'(Module),
'$system_catch'('$query'(once(G), []),Module,Error,user:'$Error'(Error)), '$system_catch'('$query'(once(G), []),Module,Error,user:'$Error'(Error)),
fail. fail.

0
pl/control.yap Normal file → Executable file
View File