changes to compile YAP in WIN32
This commit is contained in:
parent
2dae7fd5ef
commit
0cd72ad258
@ -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:
|
||||
|
@ -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
20
configure
vendored
@ -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
|
||||
|
14
configure.in
14
configure.in
@ -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)
|
||||
|
@ -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
|
||||
|
@ -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 */
|
||||
|
@ -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)
|
||||
|
||||
|
Reference in New Issue
Block a user