fix user c predicates
fix Makefiles to handle case where so is o. git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@183 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
This commit is contained in:
parent
b2934a5aeb
commit
5682ce7622
@ -5686,7 +5686,7 @@ absmi(int inp)
|
||||
saveregs();
|
||||
save_machine_regs();
|
||||
|
||||
SREG = (CELL *) YapExecute((CPredicate)(((PredEntry *)p)->CodeOfPred));
|
||||
SREG = (CELL *) YapExecute((CPredicate)(((PredEntry *)p)->TrueCodeOfPred));
|
||||
}
|
||||
|
||||
restore_machine_regs();
|
||||
|
@ -16,6 +16,7 @@
|
||||
|
||||
<h2>Yap-4.3.20:</h2>
|
||||
<ul>
|
||||
<li>FIXED: create DLs even when you don't need .so.</li>
|
||||
<li>FIXED: abolish/1.</li>
|
||||
<li>NEW: try to make module system really compatible.</li>
|
||||
<li>CLEANUP: don't use state of Pred.</li>
|
||||
|
10
configure.in
10
configure.in
@ -89,7 +89,7 @@ then
|
||||
;;
|
||||
sparc*)
|
||||
case "$target_os" in
|
||||
*solaris2*|*solaris3*|*sunos5*|*sunos6*)
|
||||
*solaris[2-9]*)
|
||||
CFLAGS="-mno-app-regs -DOPTIMISE_ALL_REGS_FOR_SPARC=1 $CFLAGS"
|
||||
;;
|
||||
esac
|
||||
@ -218,6 +218,7 @@ AC_SUBST(SHLIB_CFLAGS)
|
||||
dnl suffix for loadable binary (.so,.dll,.o)
|
||||
AC_SUBST(SHLIB_SUFFIX)
|
||||
dnl how to call the loader
|
||||
AC_SUBST(DO_SECOND_LD)
|
||||
AC_SUBST(SHLIB_LD)
|
||||
dnl makefile target for building YAP library or dll
|
||||
AC_SUBST(NEWSHOBJ)
|
||||
@ -231,6 +232,7 @@ AC_SUBST(YAP_EXTRAS)
|
||||
dnl defaults
|
||||
INSTALL_DLLS="#"
|
||||
SHLIB_LD="@#"
|
||||
DO_SECOND_LD="#"
|
||||
NEWSHOBJ="sobjs"
|
||||
YAPLIB="libYap.a"
|
||||
M4="m4"
|
||||
@ -241,6 +243,7 @@ case $target_os in
|
||||
then
|
||||
SHLIB_SUFFIX=".so"
|
||||
SHLIB_LD="ld -shared"
|
||||
DO_SECOND_LD=""
|
||||
LIBS="$LIBS -ldl"
|
||||
case $host_cpu in
|
||||
alpha*)
|
||||
@ -283,6 +286,7 @@ case $target_os in
|
||||
if test $CC = cc -o $CC = c89
|
||||
then
|
||||
SHLIB_LD="ld -b -E ${LDFLAGS}"
|
||||
DO_SECOND_LD=""
|
||||
SHLIB_SUFFIX=".sl"
|
||||
SHLIB_CFLAGS="+z"
|
||||
INSTALL_DLLS=""
|
||||
@ -301,10 +305,12 @@ case $target_os in
|
||||
*osf*)
|
||||
SHLIB_SUFFIX=".so"
|
||||
SHLIB_LD="ld -shared -expect_unresolved '*'"
|
||||
DO_SECOND_LD=""
|
||||
;;
|
||||
*irix6*)
|
||||
SHLIB_CFLAGS=""
|
||||
SHLIB_SUFFIX=".so"
|
||||
DO_SECOND_LD=""
|
||||
SHLIB_LD="ld -n32 -shared -rdata_shared"
|
||||
INSTALL_DLLS=""
|
||||
;;
|
||||
@ -319,6 +325,7 @@ case $target_os in
|
||||
LDFLAGS="-Wl,--export-dynamic $LDFLAGS"
|
||||
SHLIB_CFLAGS="-fPIC"
|
||||
SHLIB_LD="ld -Bshareable -x"
|
||||
DO_SECOND_LD=""
|
||||
SHLIB_SUFFIX=".so"
|
||||
INSTALL_DLLS=""
|
||||
fi
|
||||
@ -338,6 +345,7 @@ case $target_os in
|
||||
then
|
||||
SHLIB_SUFFIX=".o"
|
||||
LIBS="$LIBS -ldl"
|
||||
INSTALL_DLLS=""
|
||||
if test $CC = gcc
|
||||
then
|
||||
SHLIB_CFLAGS="-fPIC"
|
||||
|
@ -45,11 +45,11 @@ dll: random@SHLIB_SUFFIX@
|
||||
random.o: $(srcdir)/random.c
|
||||
$(CC) -c $(CFLAGS) $(SHLIB_CFLAGS) $(srcdir)/random.c -o random.o
|
||||
|
||||
%@SHLIB_SUFFIX@: %.o
|
||||
@SHLIB_LD@ -o $@ $<
|
||||
@DO_SECOND_LD@%@SHLIB_SUFFIX@: %.o
|
||||
@DO_SECOND_LD@ @SHLIB_LD@ -o $@ $<
|
||||
|
||||
random@SHLIB_SUFFIX@: random.o
|
||||
@SHLIB_LD@ -o random@SHLIB_SUFFIX@ random.o
|
||||
@DO_SECOND_LD@random@SHLIB_SUFFIX@: random.o
|
||||
@DO_SECOND_LD@ @SHLIB_LD@ -o random@SHLIB_SUFFIX@ random.o
|
||||
|
||||
#
|
||||
# create a new DLL library on cygwin environments
|
||||
|
@ -57,23 +57,23 @@ regfree.o: $(srcdir)/regfree.c
|
||||
regexec.o: $(srcdir)/regexec.c
|
||||
$(CC) -c $(CFLAGS) $(SHLIB_CFLAGS) $(srcdir)/regexec.c -o regexec.o
|
||||
|
||||
%@SHLIB_SUFFIX@: %.o
|
||||
@SHLIB_LD@ -o $@ $<
|
||||
@DO_SECOND_LD@%@SHLIB_SUFFIX@: %.o
|
||||
@DO_SECOND_LD@ @SHLIB_LD@ -o $@ $<
|
||||
|
||||
regexp@SHLIB_SUFFIX@: regexp.o
|
||||
@SHLIB_LD@ -o regexp@SHLIB_SUFFIX@ regexp.o
|
||||
@DO_SECOND_LD@regexp@SHLIB_SUFFIX@: regexp.o
|
||||
@DO_SECOND_LD@ @SHLIB_LD@ -o regexp@SHLIB_SUFFIX@ regexp.o
|
||||
|
||||
regcomp@SHLIB_SUFFIX@: regcomp.o
|
||||
@SHLIB_LD@ -o regcomp@SHLIB_SUFFIX@ regcomp.o
|
||||
@DO_SECOND_LD@regcomp@SHLIB_SUFFIX@: regcomp.o
|
||||
@DO_SECOND_LD@ @SHLIB_LD@ -o regcomp@SHLIB_SUFFIX@ regcomp.o
|
||||
|
||||
regerror@SHLIB_SUFFIX@: regerror.o
|
||||
@SHLIB_LD@ -o regerror@SHLIB_SUFFIX@ regerror.o
|
||||
@DO_SECOND_LD@regerror@SHLIB_SUFFIX@: regerror.o
|
||||
@DO_SECOND_LD@ @SHLIB_LD@ -o regerror@SHLIB_SUFFIX@ regerror.o
|
||||
|
||||
regfree@SHLIB_SUFFIX@: regfree.o
|
||||
@SHLIB_LD@ -o regfree@SHLIB_SUFFIX@ regfree.o
|
||||
@DO_SECOND_LD@regfree@SHLIB_SUFFIX@: regfree.o
|
||||
@DO_SECOND_LD@ @SHLIB_LD@ -o regfree@SHLIB_SUFFIX@ regfree.o
|
||||
|
||||
regexec@SHLIB_SUFFIX@: regexec.o
|
||||
@SHLIB_LD@ -o regexec@SHLIB_SUFFIX@ regexec.o
|
||||
@DO_SECOND_LD@regexec@SHLIB_SUFFIX@: regexec.o
|
||||
@DO_SECOND_LD@ @SHLIB_LD@ -o regexec@SHLIB_SUFFIX@ regexec.o
|
||||
|
||||
#
|
||||
# create a new DLL library on cygwin environments
|
||||
|
@ -147,10 +147,22 @@ file_property(File, Type, Size, Date) :-
|
||||
file_property(File, Type, Size, Date, _Permissions, Error),
|
||||
handle_system_error(Error, off, file_property(File)).
|
||||
|
||||
file_exists(File) :-
|
||||
var(File), !,
|
||||
throw(error(instantiation_error,file_exists(File))).
|
||||
file_exists(File) :-
|
||||
\+ atom(File), !,
|
||||
throw(error(type_error(atom,File),file_exists(File))).
|
||||
file_exists(File) :-
|
||||
file_property(File, _Type, _Size, _Date, _Permissions, Error),
|
||||
var(Error).
|
||||
|
||||
file_exists(File, Permissions) :-
|
||||
var(File), !,
|
||||
throw(error(instantiation_error,file_exists(File, Permissions))).
|
||||
file_exists(File, Permissions) :-
|
||||
\+ atom(File), !,
|
||||
throw(error(type_error(atom,File),file_exists(File, Permissions))).
|
||||
file_exists(File, Permissions) :-
|
||||
file_property(File, _Type, _Size, _Date, FPermissions, Error),
|
||||
var(Error),
|
||||
|
@ -45,11 +45,11 @@ dll: sys@SHLIB_SUFFIX@
|
||||
sys.o: $(srcdir)/sys.c
|
||||
$(CC) -c $(CFLAGS) $(SHLIB_CFLAGS) $(srcdir)/sys.c -o sys.o
|
||||
|
||||
%@SHLIB_SUFFIX@: %.o
|
||||
@SHLIB_LD@ -o $@ $<
|
||||
@DO_SECOND_LD@@DO_SECOND_LD@%@SHLIB_SUFFIX@: %.o
|
||||
@DO_SECOND_LD@ @SHLIB_LD@ -o $@ $<
|
||||
|
||||
sys@SHLIB_SUFFIX@: sys.o
|
||||
@SHLIB_LD@ -o sys@SHLIB_SUFFIX@ sys.o
|
||||
@DO_SECOND_LD@sys@SHLIB_SUFFIX@: sys.o
|
||||
@DO_SECOND_LD@ @SHLIB_LD@ -o sys@SHLIB_SUFFIX@ sys.o
|
||||
|
||||
#
|
||||
# create a new DLL library on cygwin environments
|
||||
|
Reference in New Issue
Block a user