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 $@
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
$(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
$(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
$(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
$(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
$(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
$(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
$(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
$(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
$(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
$(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
$(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
$(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
$(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
$(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
$(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
$(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
$(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
$(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
$(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
$(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
$(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
%.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 $@
@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)
$(CXX) -o biftest $(BIF_OBJS)

View File

@ -16,6 +16,10 @@
#endif
#include "Yap.h"
#ifdef __WINDOWS__
#include <windows.h>
#include <uxnt.h>
#endif
#include "YapHeap.h"
/* try not to pollute the SWI space */
#ifdef P
@ -138,9 +142,6 @@ typedef enum
#if HAVE_SYS_PARAM_H
#include <sys/param.h> //MAXPATHLEN
#endif
#ifdef __WINDOWS__
#include <windows.h>
#endif
#if __YAP_PROLOG__
#include "pl-yap.h"
#if _WIN32
@ -583,17 +584,6 @@ typedef double real;
/* uxnt package interface */
#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__
#define __WINDOWS__ 1

View File

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

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

@ -33,6 +33,7 @@
#endif
#include <sys/types.h>
#include <sys/stat.h>
#include <stdio.h>
#include <io.h>
#include <direct.h>
@ -45,7 +46,6 @@ typedef intptr_t ssize_t; /* signed version of size_t */
#endif
#ifndef _UXNT_KERNEL
#include <sys/stat.h>
#undef remove
#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_remove(const char *path);
_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_mkdir(const char *path, int mode);
_export int _xos_rmdir(const char *path);

View File

@ -20,7 +20,7 @@ YAPLIBDIR=@libdir@/Yap
#
DEFS=@DEFS@ -D_YAP_NOT_INSTALLED_=1
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.

View File

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

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