changes to compile YAP in WIN32

This commit is contained in:
Vitor Santos Costa 2009-05-29 14:36:49 -05:00
parent 2dae7fd5ef
commit 0cd72ad258
7 changed files with 44 additions and 10 deletions

View File

@ -1633,8 +1633,9 @@ ReceiveSignal (int s)
#if (_MSC_VER || defined(__MINGW32__))
static BOOL WINAPI
MSCHandleSignal(DWORD dwCtrlType) {
if (!Yap_InterruptsEnabled) {
if (Yap_InterruptsDisabled) {
return FALSE;
}
switch(dwCtrlType) {
case CTRL_C_EVENT:
case CTRL_BREAK_EVENT:

View File

@ -432,6 +432,7 @@ mycb: $(srcdir)/mycb.c
$(CC) $(CFLAGS) $(srcdir)/mycb.c -o mycb
all: startup.yss
@INSTALL_DLLS@ (cd packages/PLStream; $(MAKE))
@INSTALL_DLLS@ (cd library/random; $(MAKE))
@INSTALL_DLLS@ (cd library/regex; $(MAKE))
@INSTALL_DLLS@ (cd library/rltree; $(MAKE))
@ -440,7 +441,6 @@ all: startup.yss
@INSTALL_DLLS@ (cd library/rltree; $(MAKE))
@INSTALL_DLLS@ (cd library/lammpi; $(MAKE))
@INSTALL_DLLS@ (cd library/matrix; $(MAKE))
@INSTALL_DLLS@ (cd packages/PLStream; $(MAKE))
@INSTALL_DLLS@ (cd packages/sgml; $(MAKE))
@INSTALL_MATLAB@ (cd library/matlab; $(MAKE))
@ENABLE_JPL@ @INSTALL_DLLS@ (cd packages/jpl; $(MAKE))

20
configure vendored
View File

@ -700,6 +700,7 @@ SHLIB_SUFFIX
EXEC_SUFFIX
DO_SECOND_LD
SHLIB_LD
SHLIB_SWI_LD
DYNLIB_LD
YAPLIB
DYNYAPLIB
@ -4221,10 +4222,11 @@ fi
then
prefix="\${SYSTEMDRIVE}/Yap"
fi
ENABLE_WINCONSOLE=""
else
ENABLE_WINCONSOLE="#"
LIBS="-lcygwin"
fi
ENABLE_WINCONSOLE="#"
elif test "$target_os" = "mingw32"
then
yap_cv_readline=no
@ -6851,6 +6853,7 @@ fi
INSTALL_DLLS="#"
EXTRA_OBJS=""
SHLIB_LD="#"
SHLIB_SWI_LD="#"
DO_SECOND_LD="#"
M4="m4"
MERGE_DLL_OBJS="#"
@ -6934,6 +6937,7 @@ fi
then
SHLIB_SUFFIX=".so"
SHLIB_LD="gcc -shared -export-dynamic"
SHLIB_SWI_LD="gcc -shared -export-dynamic"
DO_SECOND_LD=""
LIBS="$LIBS -ldl"
case "$host_cpu" in
@ -6985,7 +6989,8 @@ _ACEOF
then
#this tells ld to export all non-static symbols,
#otherwise no external predicates.
SHLIB_LD="ld -b -E ${LDFLAGS}"
SHLIB_LD="gcc -shared -export-dynamic"
SHLIB_SWI_LD="gcc -shared -export-dynamic"
DO_SECOND_LD=""
SHLIB_SUFFIX=".sl"
SHLIB_CFLAGS="+z"
@ -7096,6 +7101,7 @@ fi
SHLIB_SUFFIX=".so"
SHLIB_LD="ld -shared -expect_unresolved '*'"
SHLIB_SWI_LD="ld -shared -expect_unresolved '*'"
DO_SECOND_LD=""
fi
;;
@ -7104,6 +7110,7 @@ fi
SHLIB_SUFFIX=".so"
DO_SECOND_LD=""
SHLIB_LD="ld -n32 -shared -rdata_shared"
SHLIB_SWI_LD="ld -n32 -shared -rdata_shared"
INSTALL_DLLS=""
;;
*darwin*)
@ -7189,6 +7196,7 @@ fi
# SHLIB_LD="$CC -bundle -bundle_loader \$(abs_top_builddir)/yap -L\$(abs_top_builddir) -lYap -undefined dynamic_lookup -Wl,-x -dead-strip -dead_strip_dylibs"
# LDFLAGS="-Wl,-x -dead_strip -dead_strip_dylibs $LDFLAGS"
SHLIB_LD="$CC -bundle -flat_namespace -undefined suppress"
SHLIB_SWI_LD="$CC -bundle -flat_namespace -undefined suppress"
INSTALL_DLLS=""
CC="$CC -fstrict-aliasing -freorder-blocks -fsched-interblock -Wall -Wstrict-aliasing=2"
JAVALIBPATH="-L/System/Library/Frameworks/JavaVM.framework/Libraries"
@ -7205,6 +7213,7 @@ fi
LDFLAGS="-Wl,--export-dynamic $LDFLAGS"
SHLIB_CFLAGS="-fPIC"
SHLIB_LD="ld -Bshareable -x"
SHLIB_SWI_LD="ld -Bshareable -x"
DO_SECOND_LD=""
SHLIB_SUFFIX=".so"
INSTALL_DLLS=""
@ -7216,6 +7225,7 @@ fi
YAPLIB="libWYap.a"
SHLIB_CFLAGS=""
SHLIB_LD="\$(CC) -shared ../../yap.dll"
SHLIB_SWI_LD="\$(CC) -shared ../../yap.dll ../../packages/PLStream/plstream.dll"
SHLIB_SUFFIX=".dll"
C_PARSER_FLAGS="$C_INTERF_FLAGS"
LDFLAGS="-Wl,--large-address-aware $LDFLAGS"
@ -13893,6 +13903,7 @@ EXEC_SUFFIX=""
{ echo "$as_me:$LINENO: checking for gcc threaded code" >&5
@ -17531,6 +17542,7 @@ SHLIB_SUFFIX!$SHLIB_SUFFIX$ac_delim
EXEC_SUFFIX!$EXEC_SUFFIX$ac_delim
DO_SECOND_LD!$DO_SECOND_LD$ac_delim
SHLIB_LD!$SHLIB_LD$ac_delim
SHLIB_SWI_LD!$SHLIB_SWI_LD$ac_delim
DYNLIB_LD!$DYNLIB_LD$ac_delim
YAPLIB!$YAPLIB$ac_delim
DYNYAPLIB!$DYNYAPLIB$ac_delim
@ -17540,7 +17552,6 @@ ENABLE_CHR!$ENABLE_CHR$ac_delim
ENABLE_CLPQR!$ENABLE_CLPQR$ac_delim
ENABLE_JPL!$ENABLE_JPL$ac_delim
JAVA_HOME!$JAVA_HOME$ac_delim
JUNIT!$JUNIT$ac_delim
_ACEOF
if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 97; then
@ -17582,6 +17593,7 @@ _ACEOF
ac_delim='%!_!# '
for ac_last_try in false false false false false :; do
cat >conf$$subs.sed <<_ACEOF
JUNIT!$JUNIT$ac_delim
JAVAC!$JAVAC$ac_delim
JAVADOC!$JAVADOC$ac_delim
JAVALIBS!$JAVALIBS$ac_delim
@ -17613,7 +17625,7 @@ LIBOBJS!$LIBOBJS$ac_delim
LTLIBOBJS!$LTLIBOBJS$ac_delim
_ACEOF
if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 29; then
if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 30; then
break
elif $ac_last_try; then
{ { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5

View File

@ -484,10 +484,11 @@ then
then
prefix="\${SYSTEMDRIVE}/Yap"
fi
ENABLE_WINCONSOLE=""
else
ENABLE_WINCONSOLE="#"
LIBS="-lcygwin"
fi
ENABLE_WINCONSOLE="#"
elif test "$target_os" = "mingw32"
then
yap_cv_readline=no
@ -744,6 +745,7 @@ dnl defaults
INSTALL_DLLS="#"
EXTRA_OBJS=""
SHLIB_LD="#"
SHLIB_SWI_LD="#"
DO_SECOND_LD="#"
M4="m4"
MERGE_DLL_OBJS="#"
@ -764,6 +766,7 @@ case "$target_os" in
then
SHLIB_SUFFIX=".so"
SHLIB_LD="gcc -shared -export-dynamic"
SHLIB_SWI_LD="gcc -shared -export-dynamic"
DO_SECOND_LD=""
LIBS="$LIBS -ldl"
case "$host_cpu" in
@ -812,7 +815,8 @@ case "$target_os" in
then
#this tells ld to export all non-static symbols,
#otherwise no external predicates.
SHLIB_LD="ld -b -E ${LDFLAGS}"
SHLIB_LD="gcc -shared -export-dynamic"
SHLIB_SWI_LD="gcc -shared -export-dynamic"
DO_SECOND_LD=""
SHLIB_SUFFIX=".sl"
SHLIB_CFLAGS="+z"
@ -851,6 +855,7 @@ dnl Linux has both elf and a.out, in this case we found elf
have_dl=no)
SHLIB_SUFFIX=".so"
SHLIB_LD="ld -shared -expect_unresolved '*'"
SHLIB_SWI_LD="ld -shared -expect_unresolved '*'"
DO_SECOND_LD=""
fi
;;
@ -859,6 +864,7 @@ dnl Linux has both elf and a.out, in this case we found elf
SHLIB_SUFFIX=".so"
DO_SECOND_LD=""
SHLIB_LD="ld -n32 -shared -rdata_shared"
SHLIB_SWI_LD="ld -n32 -shared -rdata_shared"
INSTALL_DLLS=""
;;
*darwin*)
@ -880,6 +886,7 @@ dnl Linux has both elf and a.out, in this case we found elf
# SHLIB_LD="$CC -bundle -bundle_loader \$(abs_top_builddir)/yap -L\$(abs_top_builddir) -lYap -undefined dynamic_lookup -Wl,-x -dead-strip -dead_strip_dylibs"
# LDFLAGS="-Wl,-x -dead_strip -dead_strip_dylibs $LDFLAGS"
SHLIB_LD="$CC -bundle -flat_namespace -undefined suppress"
SHLIB_SWI_LD="$CC -bundle -flat_namespace -undefined suppress"
INSTALL_DLLS=""
CC="$CC -fstrict-aliasing -freorder-blocks -fsched-interblock -Wall -Wstrict-aliasing=2"
JAVALIBPATH="-L/System/Library/Frameworks/JavaVM.framework/Libraries"
@ -896,6 +903,7 @@ dnl Linux has both elf and a.out, in this case we found elf
LDFLAGS="-Wl,--export-dynamic $LDFLAGS"
SHLIB_CFLAGS="-fPIC"
SHLIB_LD="ld -Bshareable -x"
SHLIB_SWI_LD="ld -Bshareable -x"
DO_SECOND_LD=""
SHLIB_SUFFIX=".so"
INSTALL_DLLS=""
@ -907,6 +915,7 @@ dnl Linux has both elf and a.out, in this case we found elf
YAPLIB="libWYap.a"
SHLIB_CFLAGS=""
SHLIB_LD="\$(CC) -shared ../../yap.dll"
SHLIB_SWI_LD="\$(CC) -shared ../../yap.dll ../../packages/PLStream/plstream.dll"
SHLIB_SUFFIX=".dll"
C_PARSER_FLAGS="$C_INTERF_FLAGS"
LDFLAGS="-Wl,--large-address-aware $LDFLAGS"
@ -1206,6 +1215,7 @@ AC_SUBST(EXEC_SUFFIX)
dnl how to call the loader
AC_SUBST(DO_SECOND_LD)
AC_SUBST(SHLIB_LD)
AC_SUBST(SHLIB_SWI_LD)
AC_SUBST(DYNLIB_LD)
dnl objects in YAP library
AC_SUBST(YAPLIB)

View File

@ -54,7 +54,7 @@ C_SOURCES=$(srcdir)/pl-buffer.c $(srcdir)/pl-ctype.c \
OBJS=pl-buffer.o pl-ctype.o pl-error.o pl-feature.o \
pl-file.o pl-os.o \
pl-stream.o pl-string.o pl-table.o pl-text.o pl-utf8.o \
pl-yap.o @ENABLE_WINCONSOLE@ popen.o utf8.o uxnt.o
pl-yap.o @ENABLE_WINCONSOLE@ utf8.o uxnt.o
SOBJS=plstream@SHLIB_SUFFIX@
#in some systems we just create a single object, in others we need to

View File

@ -186,5 +186,16 @@ valHandle(term_t tt)
#endif /* __YAP_PROLOG__ */
static int
stripostfix(const char *s, const char *e)
{ size_t ls = strlen(s);
size_t le = strlen(e);
if ( ls >= le )
return strcasecmp(&s[ls-le], e) == 0;
return FALSE;
}
#endif /* PL_YAP_H */

View File

@ -112,7 +112,7 @@ ifeq (@PROLOG_SYSTEM@,yap)
$(CC) $(CFLAGS) $(SHLIB_CFLAGS) -o $@ -c $<
@DO_SECOND_LD@sgml2pl@SHLIB_SUFFIX@: $(PLOBJ)
@DO_SECOND_LD@ @SHLIB_LD@ -o sgml2pl@SHLIB_SUFFIX@ $(PLOBJ)
@DO_SECOND_LD@ @SHLIB_SWI_LD@ -o sgml2pl@SHLIB_SUFFIX@ $(PLOBJ)
all: $(TARGETS) $(PROGRAMS)