mirror of
https://gitlab.com/embeddable-common-lisp/ecl.git
synced 2026-04-30 21:21:15 -07:00
No longer used
This commit is contained in:
parent
4488f3b900
commit
504a8c6e62
6 changed files with 0 additions and 1589 deletions
|
|
@ -1,317 +0,0 @@
|
|||
#
|
||||
# Makefile for ECL
|
||||
#
|
||||
top_srcdir= ..\src
|
||||
srcdir = ..\src
|
||||
|
||||
# =============================================================
|
||||
# ECL configuration
|
||||
# <BEGIN>
|
||||
|
||||
SHORT_SITE_NAME =
|
||||
LONG_SITE_NAME =
|
||||
ECL_VERSION = 0.9f
|
||||
ARCHITECTURE = PENTIUM4
|
||||
MACHINE_INSTANCE = localhost
|
||||
MACHINE =
|
||||
SOFTWARE_TYPE = NT
|
||||
SOFTWARE_VERSION = 5.0
|
||||
THEHOST = win32
|
||||
|
||||
# Define here the processor type to compile GMP library
|
||||
# with maximum optimization. Possible values are:
|
||||
# gc -> generic implementation
|
||||
# p0 -> Pentium processor
|
||||
# p3 -> Pentium III processor
|
||||
# p4 -> Pentium IV processor
|
||||
GMP_TYPE = gc
|
||||
|
||||
# Set it to non-empty to include Win32 thread support
|
||||
ECL_THREADS =
|
||||
|
||||
# Add the extensions to include in the build process. Current
|
||||
# extensions are: asdf
|
||||
ECL_MODULES = asdf
|
||||
|
||||
# <END> (ECL configuration)
|
||||
# =============================================================
|
||||
|
||||
TAR_DIR = %%CD%%\ecl-$(ECL_VERSION)
|
||||
|
||||
# Programs used by "make":
|
||||
#
|
||||
|
||||
CC = cl
|
||||
CFLAGS = /MD /DGC_NOT_DLL
|
||||
LIBS = eclgc.lib eclgmp.lib user32.lib ws2_32.lib
|
||||
LDFLAGS = -MD -Zi
|
||||
RM = del
|
||||
RMDIR = rmdir /Q /S
|
||||
MKDIR = mkdir
|
||||
EXE = .exe
|
||||
CP = copy /Y
|
||||
MV = move /Y
|
||||
MSDEV = msdev
|
||||
MKNSI = makensis.exe
|
||||
|
||||
# ==================== Where To Install Things ====================
|
||||
|
||||
# The default location for installation. Everything is placed in
|
||||
# subdirectories of this directory. The default values for many of
|
||||
# the variables below are expressed in terms of this one, so you may
|
||||
# not need to change them. This defaults to /usr/local.
|
||||
prefix=D:\Software\ECL
|
||||
exec_prefix=$(prefix)
|
||||
bindir=$(prefix)\bin
|
||||
libdir=$(prefix)\lib\ecl
|
||||
|
||||
# Programs used by "make install":
|
||||
#
|
||||
SHELL = @SHELL@
|
||||
INSTALL = @INSTALL@
|
||||
INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
||||
INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
||||
INSTALL_DATA = @INSTALL_DATA@
|
||||
mkinstalldirs = $(SHELL) $(top_srcdir)/gc/mkinstalldirs
|
||||
|
||||
# Files
|
||||
#
|
||||
SUBDIR = c gc gmp
|
||||
LIBRARIES =
|
||||
LSP_LIBRARIES = cmp.fas clx.fas sockets.fas sysfun.lsp
|
||||
TARGETS = ecl2$(EXE)
|
||||
DEF = ecl.def
|
||||
|
||||
# Additional configuration for thread support
|
||||
#
|
||||
!if "$(ECL_THREADS)" == ""
|
||||
ENV_EXPORT = cl_env,DATA
|
||||
!else
|
||||
ENV_EXPORT = ecl_process_env
|
||||
CFLAGS = $(CFLAGS) -DECL_THREADS
|
||||
DEF = ecl-threads.def
|
||||
!endif
|
||||
|
||||
# Build rules
|
||||
#
|
||||
all: $(TARGETS) doc ecl-config.bat
|
||||
.PHONY: all
|
||||
|
||||
%Makefile: $(srcdir)/%Makefile.in config.status
|
||||
./config.status
|
||||
|
||||
$(TARGETS): ecl_min$(EXE) compile.lsp sysfun.lsp
|
||||
.\ecl_min < compile.lsp
|
||||
|
||||
ecl-static.lib: $(TARGETS)
|
||||
link -lib -out:$@ eclmin.lib c\all_symbols2.obj lsp.lib eclgmp.lib eclgc.lib
|
||||
|
||||
ecl_min$(EXE): $(LIBRARIES) eclmin.lib
|
||||
$(CC) $(LDFLAGS) /Fe$@ cinit.obj c\all_symbols.obj eclmin.lib $(LIBS)
|
||||
|
||||
.gdbinit: $(srcdir)\util\gdbinit
|
||||
$(CP) $(srcdir)\util\gdbinit $@
|
||||
|
||||
lsp/config.lsp: $(srcdir)/lsp/config.lsp.in Makefile.msvc6
|
||||
if not exist lsp $(MKDIR) lsp
|
||||
sed -e "s,@ecldir@,$(libdir:\=/),g" \
|
||||
-e "s,@SHORT_SITE_NAME@,$(SHORT_SITE_NAME),g" \
|
||||
-e "s,@LONG_SITE_NAME@,$(LONG_SITE_NAME),g" \
|
||||
-e "s,@PACKAGE_VERSION@,$(ECL_VERSION),g" \
|
||||
-e "s,@ARCHITECTURE@,$(ARCHITECTURE),g" \
|
||||
-e "s,@MACHINE_INSTANCE@,$(MACHINE_INSTANCE),g" \
|
||||
-e "s,@MACHINE_VERSION@,$(MACHINE),g" \
|
||||
-e "s,@SOFTWARE_TYPE@,$(SOFTWARE_TYPE),g" \
|
||||
-e "s,@SOFTWARE_VERSION@,$(SOFTWARE_VERSION),g" \
|
||||
-e "s,@thehost@,$(THEHOST),g" \
|
||||
< $(srcdir)\lsp\config.lsp.in > lsp\config.lsp
|
||||
compile.lsp: bare.lsp $(srcdir)/compile.lsp.in Makefile.msvc6
|
||||
sed -e "s,@ecldir@,$(libdir:\=/),g" \
|
||||
-e "s,@true_srcdir@,$(srcdir:\=/),g" \
|
||||
-e "s,@true_builddir@,$(MAKEDIR:\=/),g" \
|
||||
-e "s,@CFLAGS@,$(CFLAGS),g" \
|
||||
-e "s,@ECL_CFLAGS@,,g" \
|
||||
-e "s,@CPPFLAGS@,,g" \
|
||||
-e "s,@LDRPATH@,,g" \
|
||||
-e "s,@LDFLAGS@,/MD /link /LIBPATH:~S,g" \
|
||||
-e "s,@SHARED_LDFLAGS@,/LDd,g" \
|
||||
-e "s,@BUNDLE_LDFLAGS@,/LDd,g" \
|
||||
-e "s,@CLIBS@,user32.lib ws2_32.lib,g" \
|
||||
-e "s,@STATICLIBS@,eclgmp.lib eclgc.lib,g" \
|
||||
-e "s,@LIBS@,user32.lib ws2_32.lib,g" \
|
||||
-e "s,@CORE_LIBS@,,g" \
|
||||
-e "s,@FASL_LIBS@,,g" \
|
||||
-e "s,@OBJEXT@,obj,g" \
|
||||
-e "s,@SHAREDPREFIX@,,g" \
|
||||
-e "s,@SHAREDEXT@,lib,g" \
|
||||
-e "s,@LIBPREFIX@,,g" \
|
||||
-e "s,@LIBEXT@,lib,g" \
|
||||
-e "s,@EXEEXT@,.exe,g" \
|
||||
-e "s,@LDINSTALLNAME@,,g" \
|
||||
-e "s,@DEF@,$(DEF),g" \
|
||||
-e "s,@ECL_MODULES@,$(ECL_MODULES),g" \
|
||||
-e "s,@RANLIB@,ranlib,g" \
|
||||
< $(srcdir)\compile.lsp.in > compile.lsp
|
||||
bare.lsp: $(srcdir)/bare.lsp.in lsp/load.lsp clos/load.lsp cmp/load.lsp cmp/cmpcfg.lsp
|
||||
sed -e "s,@true_srcdir@,$(srcdir:\=/),g" \
|
||||
-e "s,@true_builddir@,$(MAKEDIR:\=/),g" < $(srcdir)\bare.lsp.in > bare.lsp
|
||||
lsp/load.lsp: $(srcdir)/lsp/load.lsp.in
|
||||
$(CP) $(srcdir)\lsp\load.lsp.in lsp\load.lsp
|
||||
clos/load.lsp: $(srcdir)/clos/load.lsp.in
|
||||
if not exist clos $(MKDIR) clos
|
||||
$(CP) $(srcdir)\clos\load.lsp.in clos\load.lsp
|
||||
cmp/load.lsp: $(srcdir)/cmp/load.lsp.in
|
||||
if not exist cmp $(MKDIR) cmp
|
||||
$(CP) $(srcdir)\cmp\load.lsp.in cmp\load.lsp
|
||||
cmp/cmpcfg.lsp: $(srcdir)/cmp/cmpcfg.lsp.in Makefile.msvc6
|
||||
sed -e "s,@ECL_CC@,$(CC),g" \
|
||||
-e "s,@CFLAGS@,$(CFLAGS),g" \
|
||||
-e "s,@ECL_CFLAGS@,,g" \
|
||||
-e "s,@CPPFLAGS@,,g" \
|
||||
-e "s,@LDRPATH@,,g" \
|
||||
-e "s,@LDFLAGS@,/MD /link /LIBPATH:~S,g" \
|
||||
-e "s,@SHARED_LDFLAGS@,/LDd,g" \
|
||||
-e "s,@BUNDLE_LDFLAGS@,/LDd,g" \
|
||||
-e "s,@CLIBS@,user32.lib ws2_32.lib,g" \
|
||||
-e "s,@STATICLIBS@,eclgmp.lib eclgc.lib,g" \
|
||||
-e "s,@OBJEXT@,obj,g" \
|
||||
-e "s,@SHAREDPREFIX@,,g" \
|
||||
-e "s,@SHAREDEXT@,dll,g" \
|
||||
-e "s,@LIBPREFIX@,,g" \
|
||||
-e "s,@LIBEXT@,lib,g" \
|
||||
-e "s,@EXEEXT@,.exe,g" \
|
||||
< $(srcdir)\cmp\cmpcfg.lsp.in > cmp\cmpcfg.lsp
|
||||
ecl-config.bat: util\ecl-config.bat Makefile.msvc6
|
||||
sed -e "s,~A,$(libdir:\=/),;s,~\*,," \
|
||||
-e "s,@ECL_CFLAGS@,$(CFLAGS),g" \
|
||||
-e "s,@LDFLAGS@,,g" \
|
||||
-e "s,@CLIBS@,,g" \
|
||||
-e "s,@libdir@,$(libdir:\=/)," \
|
||||
-e "s,@includedir@,$(libdir:\=/)/h," util\ecl-config.bat > ecl-config.bat
|
||||
|
||||
|
||||
eclmin.lib: eclgmp.lib eclgc.lib lsp/config.lsp
|
||||
cd c
|
||||
$(MAKE) -f Makefile.msvc6 "ECL_THREADS = $(ECL_THREADS)"
|
||||
cd ..
|
||||
eclgc.lib:
|
||||
cd gc
|
||||
$(MAKE) -f Makefile.msvc6 "ECL_THREADS = $(ECL_THREADS)" gc.lib
|
||||
$(CP) gc.lib ..\eclgc.lib
|
||||
cd ..
|
||||
for %h in (gc.h gc_local_alloc.h gc_pthread_redirects.h \
|
||||
gc_config_macros.h leak_detector.h gc_typed.h) \
|
||||
do $(CP) $(srcdir)\gc\include\%h h\%h
|
||||
eclgmp.lib:
|
||||
cd gmp
|
||||
$(MAKE) -f Makefile.msvc6 "MPN_TYPE = $(GMP_TYPE)"
|
||||
$(CP) gmp.lib ..\eclgmp.lib
|
||||
$(CP) gmp.h ..\h\gmp.h
|
||||
cd ..
|
||||
sysfun.lsp:
|
||||
$(CP) $(srcdir)\cmp\sysfun.lsp .\
|
||||
|
||||
rt.lisp:
|
||||
$(CP) $(srcdir)\..\contrib\rt\rt.lisp .\
|
||||
|
||||
install: install-base
|
||||
for %h in (gc.h gc_local_alloc.h gc_pthread_redirects.h \
|
||||
gc_config_macros.h leak_detector.h gc_typed.h) \
|
||||
do $(CP) h\%h $(libdir)\h
|
||||
$(CP) h\gmp.h $(libdir)\h\gmp.h
|
||||
cd c
|
||||
$(MAKE) -f Makefile.msvc6 install "prefix=$(prefix)"
|
||||
cd ..\doc
|
||||
$(MAKE) -f Makefile.msvc6 install "prefix=$(prefix)"
|
||||
install-base:
|
||||
IF NOT EXIST $(bindir) $(MKDIR) $(bindir)
|
||||
IF NOT EXIST $(libdir)\h $(MKDIR) $(libdir)\h
|
||||
for %i in ($(TARGETS) ecl.dll) do $(CP) %i $(bindir)\%i
|
||||
IF EXIST $(bindir)\ecl2$(EXE) $(MV) $(bindir)\ecl2$(EXE) $(bindir)\ecl$(EXE)
|
||||
$(CP) ecl-config.bat $(bindir)\ecl-config.bat
|
||||
for %i in ($(LSP_LIBRARIES) $(LIBRARIES) c\dpp.exe help.doc ecl.lib) do $(CP) %i $(libdir)
|
||||
for %i in ($(ECL_MODULES)) do $(CP) %i.fas $(libdir)
|
||||
for %i in (ecl-static.lib) do IF EXIST %i $(CP) %i $(libdir)
|
||||
$(CP) h\config.h $(libdir)\h
|
||||
flatinstall:
|
||||
$(MAKE) -f Makefile.msvc6 bindir=$(prefix) libdir=$(prefix) install-base
|
||||
cd c
|
||||
$(MAKE) -f Makefile.msvc6 prefix=$(prefix) flatinstall
|
||||
cd ..\doc
|
||||
$(MAKE) -f Makefile.msvc6 prefix=$(prefix) flatinstall
|
||||
cd ..
|
||||
|
||||
windows-nsi:
|
||||
IF EXIST $(TAR_DIR) $(RMDIR) $(TAR_DIR)
|
||||
$(MKDIR) $(TAR_DIR)
|
||||
$(MAKE) -f Makefile.msvc6 flatinstall prefix=$(TAR_DIR)
|
||||
util\ecl_nsi.bat %%CD%%\$(srcdir)\util\ecl.nsi $(TAR_DIR)
|
||||
$(MKNSI) $(TAR_DIR)/ecl.nsi
|
||||
$(MV) $(TAR_DIR)\Setup.exe ecl-$(ECL_VERSION).exe
|
||||
$(RMDIR) $(TAR_DIR)
|
||||
|
||||
uninstall:
|
||||
for i in $(TARGETS) ecl-config; do rm -rf $(bindir)/$$i; done
|
||||
rm -rf $(libdir)
|
||||
cd doc; $(MAKE) uninstall
|
||||
|
||||
doc: $(TARGETS)
|
||||
cd doc
|
||||
$(MAKE) -f Makefile.msvc6
|
||||
cd ..
|
||||
|
||||
clean: clean_ecl clean_lisp clean_doc
|
||||
-$(RM) .gdbinit
|
||||
cd gc
|
||||
-$(MAKE) -f Makefile.msvc6 "ECL_THREADS = $(ECL_THREADS)" clean
|
||||
cd ..
|
||||
-for %h in (gc.h gc_local_alloc.h gc_pthread_redirects.h \
|
||||
gc_config_macros.h leak_detector.h gc_typed.h) \
|
||||
do $(RM) h\%h
|
||||
cd gmp
|
||||
$(MAKE) -f Makefile.msvc6 "ECL_THREADS = $(ECL_THREADS)" clean
|
||||
cd ..
|
||||
-$(RM) h\gmp.h
|
||||
clean_ecl:
|
||||
-for %i in (eclgc.lib eclgmp.lib lsp\config.lsp compile.lsp bare.lsp \
|
||||
lsp\load.lsp clos\load.lsp cmp\load.lsp cmp\cmpcfg.lsp \
|
||||
ecl.lib ecl.dll ecl_min$(EXE) eclmin.lib help.doc sysfun.lsp \
|
||||
$(TARGETS) *.exp *.ilk *.pdb *.c *.obj ecl-config.bat ecl-static.lib) \
|
||||
do $(RM) %i
|
||||
cd c
|
||||
-$(MAKE) -f Makefile.msvc6 "ECL_THREADS = $(ECL_THREADS)" clean
|
||||
cd ..
|
||||
clean_lisp:
|
||||
-for %i in (lsp cmp clos clx tk $(ECL_MODULES) sockets) do for %k in (%i.lib %i.fas %i.ilk %i.c %i.obj %i.pdb) do $(RM) %k
|
||||
-for %i in (lsp cmp clos clx tk ext) do $(RMDIR) %i
|
||||
-$(RM) help.doc
|
||||
clean_doc:
|
||||
cd doc
|
||||
-$(MAKE) -f Makefile.msvc6 "ECL_THREADS = $(ECL_THREADS)" clean
|
||||
cd ..
|
||||
distclean: clean
|
||||
realclean: distclean
|
||||
test1:
|
||||
cd c; $(MAKE)
|
||||
$(MAKE) ecl_min
|
||||
$(MAKE) ecl
|
||||
cd tests; $(MAKE)
|
||||
diff tests tests2
|
||||
test2:
|
||||
$(MAKE) clean_lisp
|
||||
cd c; $(MAKE)
|
||||
$(MAKE) ecl_min
|
||||
$(RM) ecl
|
||||
$(MAKE) ecl
|
||||
for i in lsp clos cmp; do diff --exclude=\*.o $$i old/$$i; done
|
||||
test3:
|
||||
-mkdir stage2
|
||||
cp -rf lsp clos cmp stage2
|
||||
-for i in lsp cmp clos clx tk; do test -f lib$$i.a && mv lib$$i.a stage2; done
|
||||
$(MAKE) clean_lisp
|
||||
./ecl < compile.lsp
|
||||
-for i in lsp clos cmp clx tk; do test -d $$i && diff --exclude=\*.o $$i stage2/$$i; done | less
|
||||
test:
|
||||
$(MAKE) -C tests
|
||||
$(MAKE) -C ansi-tests > ansi-tests/log
|
||||
#-(diff tests ~/src/tests; diff --exclude log ansi-tests ~/src/ansi-tests) | less
|
||||
|
|
@ -1,144 +0,0 @@
|
|||
#
|
||||
# Makefile for ECL core library
|
||||
#
|
||||
top_srcdir = ..\..\src
|
||||
srcdir = ..\..\src\c
|
||||
|
||||
!if "$(ECL_THREADS)" != ""
|
||||
THREADS_OBJ= threads_win32.obj
|
||||
THREADS_FLAGS= -DECL_THREADS -DGC_WIN32_THREADS
|
||||
!else
|
||||
THREADS_OBJ=
|
||||
THREADS_FLAGS=
|
||||
!endif
|
||||
|
||||
# Programs used by "make":
|
||||
#
|
||||
TRUE_CC = cl
|
||||
CC = cl
|
||||
CFLAGS = -c -MD -Zi -I./ -I$(srcdir) -I$(HDIR) -I../h -I$(top_srcdir)/gc/include -DHAVE_ISATTY $(THREADS_FLAGS) -DGC_NOT_DLL
|
||||
# -Wall -W -Wfloat-equal -Wundef -Wendif-labels -Wpointer-arith -Wcast-align \
|
||||
# -Wwrite-strings -Wconversion -Wsign-compare -Wmissing-prototypes -Wredundant-decls \
|
||||
# -Wunreachable-code -Winline
|
||||
DEFS = $(THREADS_FLAGS)
|
||||
|
||||
SHELL = /bin/sh
|
||||
RM = del
|
||||
CP = copy /Y
|
||||
MV = move /Y
|
||||
LINK = link
|
||||
EXE = .exe
|
||||
DPP = .\dpp$(EXE)
|
||||
|
||||
# Data for installation
|
||||
#
|
||||
INSTALL = @INSTALL@
|
||||
INSTALL_DATA = @INSTALL_DATA@
|
||||
prefix=@prefix@
|
||||
exec_prefix=$(prefix)
|
||||
libdir=$(prefix)\lib\ecl
|
||||
|
||||
# Files
|
||||
|
||||
HDIR = $(top_srcdir)\h
|
||||
HFILES = ..\h\config.h $(HDIR)\ecl.h $(HDIR)\ecl-cmp.h\
|
||||
$(HDIR)\object.h $(HDIR)\cs.h $(HDIR)\stacks.h\
|
||||
$(HDIR)\external.h $(HDIR)\eval.h\
|
||||
$(HDIR)\number.h $(HDIR)\page.h $(HDIR)\unify.h\
|
||||
$(HDIR)\lwp.h
|
||||
OBJS = main.obj symbol.obj package.obj list.obj\
|
||||
apply.obj eval.obj interpreter.obj compiler.obj disassembler.obj \
|
||||
instance.obj gfun.obj reference.obj character.obj\
|
||||
file.obj read.obj print.obj error.obj string.obj cfun.obj\
|
||||
typespec.obj assignment.obj \
|
||||
predicate.obj big.obj number.obj\
|
||||
num_pred.obj num_comp.obj num_arith.obj num_sfun.obj num_co.obj\
|
||||
num_log.obj num_rand.obj array.obj sequence.obj cmpaux.obj\
|
||||
macros.obj backq.obj stacks.obj \
|
||||
time.obj unixint.obj\
|
||||
mapfun.obj multival.obj hash.obj format.obj pathname.obj\
|
||||
structure.obj load.obj unixfsys.obj unixsys.obj \
|
||||
ffi.obj alloc_2.obj tcp.obj $(THREADS_OBJ)
|
||||
|
||||
all: $(DPP) external.h ..\eclmin.lib ..\cinit.obj
|
||||
|
||||
.SUFFIXES: .obj .c .d
|
||||
|
||||
{$(srcdir:\=/)}.d{}.c:
|
||||
$(DPP) $< $@
|
||||
#.d.c:
|
||||
# $(DPP) $< $@
|
||||
.c.obj:
|
||||
$(CC) $(CFLAGS) -o $@ $<
|
||||
|
||||
.PHONY: all
|
||||
|
||||
#
|
||||
# When compiling the library itself, we have to remove the dllimport
|
||||
# declarations, because the variables that they mark are in the
|
||||
# in the library and can be referenced without indirection.
|
||||
#
|
||||
external.h: $(top_srcdir)/h/external.h Makefile.msvc6
|
||||
sed -e "s,__declspec(dllimport),,g" \
|
||||
$(top_srcdir)\h\external.h > $@
|
||||
|
||||
install: $(HFILES)
|
||||
for %i in ($(HFILES)) do $(CP) %i $(libdir)\h\
|
||||
sed -e "/-CUT-/,$$d" ..\h\config.h > $(libdir)\h\config-install.h
|
||||
$(RM) $(libdir)\h\config.h
|
||||
$(MV) $(libdir)\h\config-install.h $(libdir)\h\config.h
|
||||
|
||||
flatinstall: $(HFILES)
|
||||
for %i in ($(HFILES)) do $(CP) %i $(prefix)\h\
|
||||
sed -e "/-CUT-/,$$d" ..\h\config.h > $(prefix)\h\config-install.h
|
||||
for %h in (..\h\*.h) do $(CP) %h $(prefix)\h\
|
||||
$(RM) $(prefix)\h\config.h
|
||||
$(MV) $(prefix)\h\config-install.h $(prefix)\h\config.h
|
||||
|
||||
..\eclmin.lib: $(OBJS:.obj=.c) all_symbols.c $(OBJS) all_symbols.obj all_symbols2.obj
|
||||
-$(RM) $@
|
||||
$(LINK) -lib -out:$@ $(OBJS)
|
||||
|
||||
clean:
|
||||
-for %f in (..\h\config.h dpp dpp.obj $(DPP) external.h \
|
||||
..\eclmin.lib ..\cinit.obj cinit.c \
|
||||
symbols_list2.h) \
|
||||
do $(RM) %f
|
||||
-for %f in ($(OBJS:.obj=.c) all_symbols.c) do $(RM) %f
|
||||
-for %f in ($(OBJS) all_symbols.obj all_symbols2.obj) do $(RM) %f
|
||||
-$(RM) *.pdb
|
||||
|
||||
# Build rules
|
||||
|
||||
$(DPP): $(srcdir)/dpp.c symbols_list2.h ../h/config.h
|
||||
$(TRUE_CC) -I../h -I./ -I$(HDIR) $(DEFS) $(srcdir)/dpp.c -o $@
|
||||
symbols_list2.h: $(srcdir)/symbols_list.h
|
||||
sed -e "s%{\([A-Z ]*.*\".*\"\),[^,]*,[ ]*NULL,.*}%{\1,NULL}%g" \
|
||||
-e "s%{\([A-Z ]*.*\".*\"\),[^,]*,[ ]*\([^,]*\),.*}%{\1,\"\2\"}%g" \
|
||||
-e "s%{NULL.*%{NULL,NULL}};%" $(srcdir)\symbols_list.h > $@
|
||||
../h/config.h: ../h/config.h.msvc6
|
||||
$(CP) ..\h\config.h.msvc6 ..\h\config.h
|
||||
|
||||
#
|
||||
# GCC might break this code
|
||||
#
|
||||
gbc.o: gbc.c $(HFILES)
|
||||
$(CC) $(CFLAGS) -O0 gbc.c -o $@
|
||||
#
|
||||
# This reduces the overhead of jumping to other functions
|
||||
#
|
||||
apply.o: apply.c $(HFILES) $(HDIR)/cs.h
|
||||
$(CC) $(CFLAGS) apply.c -o $@
|
||||
#
|
||||
# These files are interrelated
|
||||
#
|
||||
all_symbols.obj: all_symbols.c
|
||||
$(CC) $(CFLAGS) -Fo$@ -I./ all_symbols.c
|
||||
all_symbols2.obj: all_symbols.c
|
||||
$(CC) $(CFLAGS) -DECL_FINAL -Fo$@ -I./ all_symbols.c
|
||||
#
|
||||
# This is in another directory
|
||||
#
|
||||
../cinit.obj: cinit.c
|
||||
$(CC) $(CFLAGS) -I./ -o cinit.obj cinit.c
|
||||
$(MV) cinit.obj ..\
|
||||
|
|
@ -1,162 +0,0 @@
|
|||
top_srcdir= ..\..\src
|
||||
srcdir = ..\..\src\doc
|
||||
|
||||
prefix=@prefix@
|
||||
exec_prefix=$(prefix)\bin
|
||||
infodir = $(prefix)\doc\info
|
||||
mandir=$(prefix)\doc\man
|
||||
docdir=$(prefix)\doc
|
||||
manext=1
|
||||
|
||||
INFOEXT = info
|
||||
SHELL = cmd.exe
|
||||
INSTALL = ..\install.bat
|
||||
INSTALL_PROGRAM = $(INSTALL)
|
||||
INSTALL_DATA = $(INSTALL)
|
||||
INSTALL_INFO = $(INSTALL)
|
||||
mkinstalldirs = $(SHELL) $(top_srcdir)/gc/mkinstalldirs.bat
|
||||
INFO_FILES = ecl.$(INFOEXT) ecldev.$(INFOEXT)
|
||||
HTML_FILES = index.html license.html lgpl.html news.html benchmark.html \
|
||||
install.html download.html
|
||||
|
||||
RM = erase
|
||||
RMDIR = rmdir /S /Q
|
||||
MKDIR = mkdir
|
||||
CP = copy /Y
|
||||
|
||||
ECL_VERSION=0.9d
|
||||
|
||||
FILTER = sed "s,@PACKAGE_VERSION@,$(ECL_VERSION),g"
|
||||
|
||||
ECL = ../ecl
|
||||
|
||||
all: $(INFO_FILES) $(HTML_FILES) developers_manual user_manual clx_manual
|
||||
|
||||
ecl.dvi: $(srcdir)/user.txi $(srcdir)/macros.txi clisp.sty ecl.sty
|
||||
tex $(srcdir)/user.txi
|
||||
ecldev.dvi: $(srcdir)/devel.txi $(srcdir)/macros.txi clisp.sty ecl.sty
|
||||
tex $(srcdir)/devel.txi
|
||||
clx.dvi: clx.texinfo
|
||||
tex clx.texinfo
|
||||
|
||||
ecl.ps: ecl.dvi $(srcdir)/macros.txi
|
||||
dvips -o $@ ecl.dvi
|
||||
ecldev.ps: ecldev.dvi $(srcdir)/macros.txi
|
||||
dvips -o $@ ecldev.dvi
|
||||
clx.ps: clx.dvi
|
||||
dvips -o $@ clx.dvi
|
||||
|
||||
install: all
|
||||
IF NOT EXIST $(docdir) $(MKDIR) $(docdir)
|
||||
for %i in (Copyright LGPL) do $(CP) $(top_srcdir)\..\%i $(docdir)
|
||||
for %i in ($(HTML_FILES)) do $(CP) %i $(docdir)
|
||||
IF NOT EXIST $(docdir)\ecldev $(MKDIR) $(docdir)\ecldev
|
||||
for %i in (ecldev\*) do $(CP) %i $(docdir)\ecldev
|
||||
IF NOT EXIST $(docdir)\ecl $(MKDIR) $(docdir)\ecl
|
||||
for %i in (ecl\*) do $(CP) %i $(docdir)\ecl
|
||||
IF NOT EXIST $(docdir)\clx $(MKDIR) $(docdir)\clx
|
||||
for %i in (clx\*) do $(CP) %i $(docdir)\clx
|
||||
flatinstall: all
|
||||
IF NOT EXIST $(docdir) $(MKDIR) $(docdir)
|
||||
for %i in (Copyright LGPL) do $(CP) $(top_srcdir)\..\%i $(docdir)
|
||||
for %i in ($(HTML_FILES)) do $(CP) %i $(docdir)
|
||||
IF NOT EXIST $(docdir)\ecldev $(MKDIR) $(docdir)\ecldev
|
||||
for %i in (ecldev\*) do $(CP) %i $(docdir)\ecldev
|
||||
IF NOT EXIST $(docdir)\ecl $(MKDIR) $(docdir)\ecl
|
||||
for %i in (ecl\*) do $(CP) %i $(docdir)\ecl
|
||||
IF NOT EXIST $(docdir)\clx $(MKDIR) $(docdir)\clx
|
||||
for %i in (clx\*) do $(CP) %i $(docdir)\clx
|
||||
|
||||
uninstall:
|
||||
for k in $(INFO_FILES); do \
|
||||
rm $$k; \
|
||||
if [ -x $(INSTALL_INFO) ]; then \
|
||||
$(INSTALL_INFO) --delete $$k; \
|
||||
fi; \
|
||||
done
|
||||
rm -r $(infodir)/ecl.$(INFOEXT) $(infodir)/ecldev.$(INFOEXT); \
|
||||
rm $(mandir)/man$(manext)/ecl.$(manext)
|
||||
|
||||
head2: developers_manual user_manual clx_manual $(srcdir)/head
|
||||
IF EXIST ecl\index.html ( \
|
||||
sed -e "s,ecl/user.html,ecl/index.html,g" \
|
||||
-e "s,ecldev/devel.html,ecldev/index.html,g" \
|
||||
$(srcdir)/head > head2 \
|
||||
) ELSE ( \
|
||||
copy /y $(srcdir)/head head2 \
|
||||
)
|
||||
ecl.info.gz: ecl.info
|
||||
gzip < ecl.info > ecl.info.gz
|
||||
ecldev.info.gz: ecldev.info
|
||||
gzip < ecldev.info > ecldev.info.gz
|
||||
clx.info.gz: clx.info
|
||||
gzip < clx.info > clx.info.gz
|
||||
ecl.info: $(srcdir)/user.txi $(srcdir)/macros.txi
|
||||
makeinfo -I $(srcdir) --no-split $(srcdir)/user.txi
|
||||
ecldev.info: $(srcdir)/devel.txi $(srcdir)/macros.txi
|
||||
makeinfo -I $(srcdir) --no-split $(srcdir)/devel.txi
|
||||
clx.info: clx.texinfo
|
||||
makeinfo --no-split clx.texinfo
|
||||
clx.texinfo: $(top_srcdir)/clx/manual/clx.texinfo
|
||||
cp $(top_srcdir)/clx/manual/clx.texinfo .
|
||||
|
||||
download.html: $(srcdir)/download.in.html head2
|
||||
( type head2 $(srcdir)\download.in.html $(srcdir)\end ) | $(FILTER) > $@
|
||||
index.html: $(srcdir)/index.in.html head2
|
||||
( type head2 $(srcdir)\index.in.html $(srcdir)\end ) | $(FILTER) > $@
|
||||
install.html: $(srcdir)/install.in.html head2
|
||||
( type head2 $(srcdir)\download.in.html $(srcdir)\end ) | $(FILTER) > $@
|
||||
news.html: $(srcdir)/news.in.html head2
|
||||
type head2 > html_tmp
|
||||
sed -e "/^----.*$$/,$$d" $(srcdir)/news.in.html >> html_tmp
|
||||
type $(srcdir)\..\..\ANNOUNCEMENT >> html_tmp
|
||||
sed -e "1,/^----*$$/d" $(srcdir)/news.in.html >> html_tmp
|
||||
type $(srcdir)\end >> html_tmp
|
||||
$(FILTER) html_tmp > $@
|
||||
$(RM) html_tmp
|
||||
benchmark.html: $(srcdir)/benchmark.in.html ../gabriel/BENCHMARK head2
|
||||
type head2 > html_tmp
|
||||
type $(srcdir)\benchmark.in.html >> html_tmp
|
||||
echo "<pre>" >> html_tmp
|
||||
type ..\gabriel\BENCHMARK >> html_tmp
|
||||
echo "</pre>" >> html_tmp
|
||||
type $(srcdir)\end >> html_tmp
|
||||
$(FILTER) html_tmp > $@
|
||||
$(RM) html_tmp
|
||||
../gabriel/BENCHMARK:
|
||||
if not exist ..\gabriel $(MKDIR) ..\gabriel
|
||||
echo "No benchmarks available" > ..\gabriel\BENCHMARK
|
||||
license.html: $(top_srcdir)/../Copyright head2
|
||||
type head2 > html_tmp
|
||||
echo "<pre>" >> html_tmp
|
||||
type $(top_srcdir)\..\Copyright >> html_tmp
|
||||
echo "</pre>" >> html_tmp
|
||||
type $(srcdir)\end >> html_tmp
|
||||
$(FILTER) html_tmp > $@
|
||||
$(RM) html_tmp
|
||||
lgpl.html: $(top_srcdir)/../LGPL head2
|
||||
type head2 > html_tmp
|
||||
echo "<pre>" >> html_tmp
|
||||
type $(top_srcdir)\..\LGPL >> html_tmp
|
||||
echo "</pre>" >> html_tmp
|
||||
type $(srcdir)\end >> html_tmp
|
||||
$(FILTER) html_tmp > $@
|
||||
$(RM) html_tmp
|
||||
user_manual: $(srcdir)/user.txi $(srcdir)/macros.txi
|
||||
echo "Producing ecl.html; ignore error messages."
|
||||
IF NOT EXIST ecl MKDIR ecl
|
||||
makeinfo -v -I $(srcdir) --html $(srcdir)/user.txi
|
||||
echo > user_manual
|
||||
developers_manual: $(srcdir)/devel.txi $(srcdir)/macros.txi
|
||||
echo "Producing ecldev.html; ignore error messages."
|
||||
IF NOT EXIST ecldev MKDIR ecldev
|
||||
makeinfo -v -I $(srcdir) --html $(srcdir)/devel.txi
|
||||
echo > developers_manual
|
||||
clx_manual: $(srcdir)/../clx/manual/clx.texinfo
|
||||
echo "Producing clx.html; ignore error messages."
|
||||
IF NOT EXIST clx MKDIR clx
|
||||
makeinfo -v --html $(srcdir)\..\clx\manual\clx.texinfo
|
||||
echo > clx_manual
|
||||
clean:
|
||||
-for %i in (ecl ecldev clx ..\gabriel) do $(RMDIR) %i
|
||||
-for %i in (ecl.info* ecldev.info* $(HTML_FILES) head2 user_manual developers_manual clx_manual ..\gabriel\BENCHMARK) do $(RM) %i
|
||||
|
|
@ -1,71 +0,0 @@
|
|||
# Makefile for Windows NT. Assumes Microsoft compiler, and a single thread.
|
||||
# DLLs are included in the root set under NT, but not under win32S.
|
||||
# Use "nmake nodebug=1 all" for optimized versions of library, gctest and editor.
|
||||
|
||||
CPU= i386
|
||||
!include <ntwin32.mak>
|
||||
|
||||
srcdir = ..\..\src\gc
|
||||
|
||||
!if "$(ECL_THREADS)" != ""
|
||||
THREADS_OBJ= win32_threads.obj
|
||||
THREADS_FLAGS= -DGC_WIN32_THREADS
|
||||
!else
|
||||
THREADS_OBJ=
|
||||
THREADS_FLAGS=
|
||||
!endif
|
||||
|
||||
OBJS= alloc.obj reclaim.obj allchblk.obj misc.obj mach_dep.obj os_dep.obj mark_rts.obj headers.obj mark.obj obj_map.obj blacklst.obj finalize.obj new_hblk.obj dbg_mlc.obj malloc.obj stubborn.obj dyn_load.obj typd_mlc.obj ptr_chck.obj gc_cpp.obj mallocx.obj $(THREADS_OBJ)
|
||||
|
||||
all: gctest.exe cord\de.exe test_cpp.exe
|
||||
|
||||
{$(srcdir)}.c{}.obj:
|
||||
$(cc) /MD $(cdebug) $(cflags) $(cvars) -I$(srcdir)\include -DSILENT -DALL_INTERIOR_POINTERS -D__STDC__ -DGC_NOT_DLL $(THREADS_FLAGS) $< /Fo$*.obj
|
||||
|
||||
.cpp.obj:
|
||||
$(cc) /MD $(cdebug) $(cflags) $(cvars) -I$(srcdir)\include -DSILENT -DALL_INTERIOR_POINTERS -DGC_NOT_DLL $(THREADS_FLAGS) $*.CPP /Fo$*.obj
|
||||
|
||||
$(OBJS) tests\test.obj: $(srcdir)\include\private\gc_priv.h $(srcdir)\include\private\gc_hdrs.h $(srcdir)\include\gc.h $(srcdir)\include\private\gcconfig.h $(srcdir)\include\private\gc_locks.h $(srcdir)\include\private\gc_pmark.h $(srcdir)\include\gc_mark.h
|
||||
|
||||
gc.lib: $(OBJS)
|
||||
lib /MACHINE:i386 /out:gc.lib $(OBJS)
|
||||
# The original NT SDK used lib32 instead of lib
|
||||
|
||||
gctest.exe: tests\test.obj gc.lib
|
||||
# The following works for win32 debugging. For win32s debugging use debugtype:coff
|
||||
# and add mapsympe line.
|
||||
# This produces a "GUI" applications that opens no windows and writes to the log file
|
||||
# "gc.log". This is done to make the result runnable under win32s.
|
||||
$(link) -debug:full -debugtype:cv $(guiflags) -stack:131072 -out:$*.exe tests\test.obj $(guilibs) gc.lib
|
||||
# mapsympe -n -o gctest.sym gctest.exe
|
||||
|
||||
cord\de_win.rbj: cord\de_win.res
|
||||
cvtres -$(CPU) cord\de_win.res -o cord\de_win.rbj
|
||||
|
||||
cord\de.obj cord\de_win.obj: include\cord.h include\private\cord_pos.h cord\de_win.h cord\de_cmds.h
|
||||
|
||||
cord\de_win.res: cord\de_win.rc cord\de_win.h cord\de_cmds.h
|
||||
$(rc) $(rcvars) -r -fo cord\de_win.res $(cvars) cord\de_win.rc
|
||||
|
||||
# Cord/de is a real win32 gui application.
|
||||
cord\de.exe: cord\cordbscs.obj cord\cordxtra.obj cord\de.obj cord\de_win.obj cord\de_win.rbj gc.lib
|
||||
$(link) -debug:full -debugtype:cv $(guiflags) -stack:16384 -out:cord\de.exe cord\cordbscs.obj cord\cordxtra.obj cord\de.obj cord\de_win.obj cord\de_win.rbj gc.lib $(guilibs)
|
||||
|
||||
gc_cpp.obj: $(srcdir)\include\gc_cpp.h $(srcdir)\include\gc.h
|
||||
|
||||
gc_cpp.cpp: $(srcdir)\gc_cpp.cc
|
||||
copy $(srcdir)\gc_cpp.cc gc_cpp.cpp
|
||||
|
||||
test_cpp.cpp: tests\test_cpp.cc
|
||||
copy tests\test_cpp.cc test_cpp.cpp
|
||||
|
||||
# This generates the C++ test executable. The executable expects
|
||||
# a single numeric argument, which is the number of iterations.
|
||||
# The output appears in the file "gc.log".
|
||||
test_cpp.exe: test_cpp.obj include\gc_cpp.h include\gc.h gc.lib
|
||||
$(link) -debug:full -debugtype:cv $(guiflags) -stack:16384 -out:test_cpp.exe test_cpp.obj gc.lib $(guilibs)
|
||||
|
||||
|
||||
clean:
|
||||
-del gc.lib
|
||||
-for %i in ($(OBJS) gc_cpp.cpp) do erase %i
|
||||
|
|
@ -1,615 +0,0 @@
|
|||
srcdir = ..\..\src\gmp
|
||||
|
||||
AUTO_SUBDIRS = mpn\generic mpf mpq mpz printf scanf
|
||||
|
||||
MPN_GC_SOURCES = \
|
||||
mpn\generic\add.c \
|
||||
mpn\generic\add_1.c \
|
||||
mpn\generic\add_n.c \
|
||||
mpn\generic\addmul_1.c \
|
||||
mpn\generic\addsub_n.c \
|
||||
mpn\generic\bdivmod.c \
|
||||
mpn\generic\cmp.c \
|
||||
mpn\generic\dc_divrem_n.c \
|
||||
mpn\generic\dive_1.c \
|
||||
mpn\generic\diveby3.c \
|
||||
mpn\generic\divis.c \
|
||||
mpn\generic\divrem.c \
|
||||
mpn\generic\divrem_1.c \
|
||||
mpn\generic\divrem_2.c \
|
||||
mpn\generic\dump.c \
|
||||
mpn\generic\fib2_ui.c \
|
||||
mpn\generic\gcd.c \
|
||||
mpn\generic\gcd_1.c \
|
||||
mpn\generic\gcdext.c \
|
||||
mpn\generic\get_str.c \
|
||||
mpn\generic\hamdist.c \
|
||||
mpn\generic\jacbase.c \
|
||||
mpn\generic\lshift.c \
|
||||
mpn\generic\mod_1.c \
|
||||
mpn\generic\mod_34lsub1.c \
|
||||
mpn\generic\mode1o.c \
|
||||
mpn\generic\mul.c \
|
||||
mpn\generic\mul_1.c \
|
||||
mpn\generic\mul_basecase.c \
|
||||
mpn\generic\mul_fft.c \
|
||||
mpn\generic\mul_n.c \
|
||||
mpn\generic\perfsqr.c \
|
||||
mpn\generic\popcount.c \
|
||||
mpn\generic\pow_1.c \
|
||||
mpn\generic\pre_divrem_1.c \
|
||||
mpn\generic\pre_mod_1.c \
|
||||
mpn\generic\random.c \
|
||||
mpn\generic\random2.c \
|
||||
mpn\generic\rootrem.c \
|
||||
mpn\generic\rshift.c \
|
||||
mpn\generic\sb_divrem_mn.c \
|
||||
mpn\generic\scan0.c \
|
||||
mpn\generic\scan1.c \
|
||||
mpn\generic\set_str.c \
|
||||
mpn\generic\sizeinbase.c \
|
||||
mpn\generic\sqr_basecase.c \
|
||||
mpn\generic\sqrtrem.c \
|
||||
mpn\generic\sub.c \
|
||||
mpn\generic\sub_1.c \
|
||||
mpn\generic\sub_n.c \
|
||||
mpn\generic\submul_1.c \
|
||||
mpn\generic\tdiv_qr.c \
|
||||
mpn\mp_bases.c
|
||||
|
||||
MPN_P0_C_SOURCES = \
|
||||
mpn\generic\add.c \
|
||||
mpn\generic\add_1.c \
|
||||
mpn\generic\addsub_n.c \
|
||||
mpn\generic\bdivmod.c \
|
||||
mpn\generic\cmp.c \
|
||||
mpn\generic\dc_divrem_n.c \
|
||||
mpn\generic\divis.c \
|
||||
mpn\generic\divrem.c \
|
||||
mpn\generic\divrem_2.c \
|
||||
mpn\generic\dump.c \
|
||||
mpn\generic\fib2_ui.c \
|
||||
mpn\generic\gcd.c \
|
||||
mpn\generic\gcd_1.c \
|
||||
mpn\generic\gcdext.c \
|
||||
mpn\generic\get_str.c \
|
||||
mpn\generic\hamdist.c \
|
||||
mpn\generic\jacbase.c \
|
||||
mpn\generic\mode1o.c \
|
||||
mpn\mp_bases.c \
|
||||
mpn\generic\mul.c \
|
||||
mpn\generic\mul_fft.c \
|
||||
mpn\generic\mul_n.c \
|
||||
mpn\generic\perfsqr.c \
|
||||
mpn\generic\popcount.c \
|
||||
mpn\generic\pow_1.c \
|
||||
mpn\generic\pre_divrem_1.c \
|
||||
mpn\generic\pre_mod_1.c \
|
||||
mpn\generic\random.c \
|
||||
mpn\generic\random2.c \
|
||||
mpn\generic\rootrem.c \
|
||||
mpn\generic\sb_divrem_mn.c \
|
||||
mpn\generic\scan0.c \
|
||||
mpn\generic\scan1.c \
|
||||
mpn\generic\set_str.c \
|
||||
mpn\generic\sizeinbase.c \
|
||||
mpn\generic\sqr_basecase.c \
|
||||
mpn\generic\sqrtrem.c \
|
||||
mpn\generic\sub.c \
|
||||
mpn\generic\sub_1.c \
|
||||
mpn\generic\tdiv_qr.c
|
||||
|
||||
MPN_P0_ASM_SOURCES = \
|
||||
mpn\x86i\umul.asm \
|
||||
mpn\x86i\udiv.asm \
|
||||
mpn\x86i\rshift.asm \
|
||||
mpn\x86i\mul_basecase.asm \
|
||||
mpn\x86i\mul_1.asm \
|
||||
mpn\x86i\mod_34lsub1.asm \
|
||||
mpn\x86i\mod_1.asm \
|
||||
mpn\x86i\lshift.asm \
|
||||
mpn\x86i\divrem_1.asm \
|
||||
mpn\x86i\diveby3.asm \
|
||||
mpn\x86i\dive_1.asm \
|
||||
mpn\x86i\copyi.asm \
|
||||
mpn\x86i\copyd.asm \
|
||||
mpn\x86i\aorsmul_1.asm \
|
||||
mpn\x86i\aors_n.asm
|
||||
|
||||
MPN_P3_C_SOURCES = \
|
||||
mpn\generic\add.c \
|
||||
mpn\generic\add_1.c \
|
||||
mpn\generic\addsub_n.c \
|
||||
mpn\generic\bdivmod.c \
|
||||
mpn\generic\cmp.c \
|
||||
mpn\generic\dc_divrem_n.c \
|
||||
mpn\generic\divis.c \
|
||||
mpn\generic\divrem.c \
|
||||
mpn\generic\divrem_2.c \
|
||||
mpn\generic\dump.c \
|
||||
mpn\generic\fib2_ui.c \
|
||||
mpn\generic\gcd.c \
|
||||
mpn\generic\gcd_1.c \
|
||||
mpn\generic\gcdext.c \
|
||||
mpn\generic\get_str.c \
|
||||
mpn\generic\jacbase.c \
|
||||
mpn\mp_bases.c \
|
||||
mpn\generic\mul.c \
|
||||
mpn\generic\mul_fft.c \
|
||||
mpn\generic\mul_n.c \
|
||||
mpn\generic\perfsqr.c \
|
||||
mpn\generic\pow_1.c \
|
||||
mpn\generic\random.c \
|
||||
mpn\generic\random2.c \
|
||||
mpn\generic\rootrem.c \
|
||||
mpn\generic\sb_divrem_mn.c \
|
||||
mpn\generic\scan0.c \
|
||||
mpn\generic\scan1.c \
|
||||
mpn\generic\set_str.c \
|
||||
mpn\generic\sizeinbase.c \
|
||||
mpn\generic\sqrtrem.c \
|
||||
mpn\generic\sub.c \
|
||||
mpn\generic\sub_1.c \
|
||||
mpn\generic\tdiv_qr.c
|
||||
|
||||
MPN_P3_ASM_SOURCES = \
|
||||
mpn\x86i\umul.asm \
|
||||
mpn\x86i\udiv.asm \
|
||||
mpn\x86i\p6\sqr_basecase.asm \
|
||||
mpn\x86i\mul_basecase.asm \
|
||||
mpn\x86i\mul_1.asm \
|
||||
mpn\x86i\p6\mode1o.asm \
|
||||
mpn\x86i\mod_34lsub1.asm \
|
||||
mpn\x86i\p6\mod_1.asm \
|
||||
mpn\x86i\p6\diveby3.asm \
|
||||
mpn\x86i\p6\dive_1.asm \
|
||||
mpn\x86i\copyi.asm \
|
||||
mpn\x86i\p6\copyd.asm \
|
||||
mpn\x86i\p6\aorsmul_1.asm \
|
||||
mpn\x86i\aors_n.asm \
|
||||
mpn\x86i\p6\mmx\rshift.asm \
|
||||
mpn\x86i\p6\p3mmx\popham.asm \
|
||||
mpn\x86i\p6\mmx\lshift.asm \
|
||||
mpn\x86i\p6\mmx\divrem_1.asm
|
||||
|
||||
MPN_P4_C_SOURCES = \
|
||||
mpn\generic\add.c \
|
||||
mpn\generic\add_1.c \
|
||||
mpn\generic\addsub_n.c \
|
||||
mpn\generic\bdivmod.c \
|
||||
mpn\generic\cmp.c \
|
||||
mpn\generic\dc_divrem_n.c \
|
||||
mpn\generic\divis.c \
|
||||
mpn\generic\divrem.c \
|
||||
mpn\generic\divrem_2.c \
|
||||
mpn\generic\dump.c \
|
||||
mpn\generic\fib2_ui.c \
|
||||
mpn\generic\gcd.c \
|
||||
mpn\generic\gcd_1.c \
|
||||
mpn\generic\gcdext.c \
|
||||
mpn\generic\get_str.c \
|
||||
mpn\generic\jacbase.c \
|
||||
mpn\mp_bases.c \
|
||||
mpn\generic\mul.c \
|
||||
mpn\generic\mul_fft.c \
|
||||
mpn\generic\mul_n.c \
|
||||
mpn\generic\perfsqr.c \
|
||||
mpn\generic\pow_1.c \
|
||||
mpn\generic\pre_divrem_1.c \
|
||||
mpn\generic\pre_mod_1.c \
|
||||
mpn\generic\random.c \
|
||||
mpn\generic\random2.c \
|
||||
mpn\generic\rootrem.c \
|
||||
mpn\generic\sb_divrem_mn.c \
|
||||
mpn\generic\scan0.c \
|
||||
mpn\generic\scan1.c \
|
||||
mpn\generic\set_str.c \
|
||||
mpn\generic\sizeinbase.c \
|
||||
mpn\generic\sqrtrem.c \
|
||||
mpn\generic\sub.c \
|
||||
mpn\generic\sub_1.c \
|
||||
mpn\generic\tdiv_qr.c
|
||||
|
||||
MPN_P4_ASM_SOURCES = \
|
||||
mpn\x86i\umul.asm \
|
||||
mpn\x86i\udiv.asm \
|
||||
mpn\x86i\mod_1.asm \
|
||||
mpn\x86i\divrem_1.asm \
|
||||
mpn\x86i\pentium4\copyi.asm \
|
||||
mpn\x86i\pentium4\copyd.asm \
|
||||
mpn\x86i\pentium4\sse2\submul_1.asm \
|
||||
mpn\x86i\pentium4\sse2\sub_n.asm \
|
||||
mpn\x86i\pentium4\sse2\sqr_basecase.asm \
|
||||
mpn\x86i\pentium4\sse2\mul_basecase.asm \
|
||||
mpn\x86i\pentium4\sse2\mul_1.asm \
|
||||
mpn\x86i\pentium4\sse2\mode1o.asm \
|
||||
mpn\x86i\pentium4\sse2\mod_34lsub1.asm \
|
||||
mpn\x86i\pentium4\sse2\diveby3.asm \
|
||||
mpn\x86i\pentium4\sse2\dive_1.asm \
|
||||
mpn\x86i\pentium4\sse2\addmul_1.asm \
|
||||
mpn\x86i\pentium4\sse2\add_n.asm \
|
||||
mpn\x86i\pentium4\mmx\rshift.asm \
|
||||
mpn\x86i\pentium4\mmx\popham.asm \
|
||||
mpn\x86i\pentium4\mmx\lshift.asm
|
||||
|
||||
MPF_SOURCES = \
|
||||
mpf\abs.c \
|
||||
mpf\add.c \
|
||||
mpf\add_ui.c \
|
||||
mpf\ceilfloor.c \
|
||||
mpf\clear.c \
|
||||
mpf\cmp.c \
|
||||
mpf\cmp_d.c \
|
||||
mpf\cmp_si.c \
|
||||
mpf\cmp_ui.c \
|
||||
mpf\div.c \
|
||||
mpf\div_2exp.c \
|
||||
mpf\div_ui.c \
|
||||
mpf\dump.c \
|
||||
mpf\eq.c \
|
||||
mpf\fits_sint.c \
|
||||
mpf\fits_slong.c \
|
||||
mpf\fits_sshort.c \
|
||||
mpf\fits_uint.c \
|
||||
mpf\fits_ulong.c \
|
||||
mpf\fits_ushort.c \
|
||||
mpf\get_d.c \
|
||||
mpf\get_d_2exp.c \
|
||||
mpf\get_dfl_prec.c \
|
||||
mpf\get_prc.c \
|
||||
mpf\get_si.c \
|
||||
mpf\get_str.c \
|
||||
mpf\get_ui.c \
|
||||
mpf\init.c \
|
||||
mpf\init2.c \
|
||||
mpf\inp_str.c \
|
||||
mpf\int_p.c \
|
||||
mpf\iset.c \
|
||||
mpf\iset_d.c \
|
||||
mpf\iset_si.c \
|
||||
mpf\iset_str.c \
|
||||
mpf\iset_ui.c \
|
||||
mpf\mul.c \
|
||||
mpf\mul_2exp.c \
|
||||
mpf\mul_ui.c \
|
||||
mpf\neg.c \
|
||||
mpf\out_str.c \
|
||||
mpf\pow_ui.c \
|
||||
mpf\random2.c \
|
||||
mpf\reldiff.c \
|
||||
mpf\set.c \
|
||||
mpf\set_d.c \
|
||||
mpf\set_dfl_prec.c \
|
||||
mpf\set_prc.c \
|
||||
mpf\set_prc_raw.c \
|
||||
mpf\set_q.c \
|
||||
mpf\set_si.c \
|
||||
mpf\set_str.c \
|
||||
mpf\set_ui.c \
|
||||
mpf\set_z.c \
|
||||
mpf\size.c \
|
||||
mpf\sqrt.c \
|
||||
mpf\sqrt_ui.c \
|
||||
mpf\sub.c \
|
||||
mpf\sub_ui.c \
|
||||
mpf\swap.c \
|
||||
mpf\trunc.c \
|
||||
mpf\ui_div.c \
|
||||
mpf\ui_sub.c \
|
||||
mpf\urandomb.c
|
||||
|
||||
MPQ_SOURCES = \
|
||||
mpq\abs.c \
|
||||
mpq\aors.c \
|
||||
mpq\canonicalize.c \
|
||||
mpq\clear.c \
|
||||
mpq\cmp.c \
|
||||
mpq\cmp_si.c \
|
||||
mpq\cmp_ui.c \
|
||||
mpq\div.c \
|
||||
mpq\equal.c \
|
||||
mpq\get_d.c \
|
||||
mpq\get_den.c \
|
||||
mpq\get_num.c \
|
||||
mpq\get_str.c \
|
||||
mpq\init.c \
|
||||
mpq\inp_str.c \
|
||||
mpq\inv.c \
|
||||
mpq\md_2exp.c \
|
||||
mpq\mul.c \
|
||||
mpq\neg.c \
|
||||
mpq\out_str.c \
|
||||
mpq\set.c \
|
||||
mpq\set_d.c \
|
||||
mpq\set_den.c \
|
||||
mpq\set_f.c \
|
||||
mpq\set_num.c \
|
||||
mpq\set_si.c \
|
||||
mpq\set_str.c \
|
||||
mpq\set_ui.c \
|
||||
mpq\set_z.c \
|
||||
mpq\swap.c
|
||||
|
||||
MPZ_SOURCES = \
|
||||
mpz\abs.c \
|
||||
mpz\add.c \
|
||||
mpz\add_ui.c \
|
||||
mpz\and.c \
|
||||
mpz\aorsmul.c \
|
||||
mpz\aorsmul_i.c \
|
||||
mpz\array_init.c \
|
||||
mpz\bin_ui.c \
|
||||
mpz\bin_uiui.c \
|
||||
mpz\cdiv_q.c \
|
||||
mpz\cdiv_q_ui.c \
|
||||
mpz\cdiv_qr.c \
|
||||
mpz\cdiv_qr_ui.c \
|
||||
mpz\cdiv_r.c \
|
||||
mpz\cdiv_r_ui.c \
|
||||
mpz\cdiv_ui.c \
|
||||
mpz\cfdiv_q_2exp.c \
|
||||
mpz\cfdiv_r_2exp.c \
|
||||
mpz\clear.c \
|
||||
mpz\clrbit.c \
|
||||
mpz\cmp.c \
|
||||
mpz\cmp_d.c \
|
||||
mpz\cmp_si.c \
|
||||
mpz\cmp_ui.c \
|
||||
mpz\cmpabs.c \
|
||||
mpz\cmpabs_d.c \
|
||||
mpz\cmpabs_ui.c \
|
||||
mpz\com.c \
|
||||
mpz\cong.c \
|
||||
mpz\cong_2exp.c \
|
||||
mpz\cong_ui.c \
|
||||
mpz\dive_ui.c \
|
||||
mpz\divegcd.c \
|
||||
mpz\divexact.c \
|
||||
mpz\divis.c \
|
||||
mpz\divis_2exp.c \
|
||||
mpz\divis_ui.c \
|
||||
mpz\dump.c \
|
||||
mpz\export.c \
|
||||
mpz\fac_ui.c \
|
||||
mpz\fdiv_q.c \
|
||||
mpz\fdiv_q_ui.c \
|
||||
mpz\fdiv_qr.c \
|
||||
mpz\fdiv_qr_ui.c \
|
||||
mpz\fdiv_r.c \
|
||||
mpz\fdiv_r_ui.c \
|
||||
mpz\fdiv_ui.c \
|
||||
mpz\fib2_ui.c \
|
||||
mpz\fib_ui.c \
|
||||
mpz\fits_sint.c \
|
||||
mpz\fits_slong.c \
|
||||
mpz\fits_sshort.c \
|
||||
mpz\fits_uint.c \
|
||||
mpz\fits_ulong.c \
|
||||
mpz\fits_ushort.c \
|
||||
mpz\gcd.c \
|
||||
mpz\gcd_ui.c \
|
||||
mpz\gcdext.c \
|
||||
mpz\get_d.c \
|
||||
mpz\get_d_2exp.c \
|
||||
mpz\get_si.c \
|
||||
mpz\get_str.c \
|
||||
mpz\get_ui.c \
|
||||
mpz\getlimbn.c \
|
||||
mpz\hamdist.c \
|
||||
mpz\import.c \
|
||||
mpz\init.c \
|
||||
mpz\init2.c \
|
||||
mpz\inp_raw.c \
|
||||
mpz\inp_str.c \
|
||||
mpz\invert.c \
|
||||
mpz\ior.c \
|
||||
mpz\iset.c \
|
||||
mpz\iset_d.c \
|
||||
mpz\iset_si.c \
|
||||
mpz\iset_str.c \
|
||||
mpz\iset_ui.c \
|
||||
mpz\jacobi.c \
|
||||
mpz\kronsz.c \
|
||||
mpz\kronuz.c \
|
||||
mpz\kronzs.c \
|
||||
mpz\kronzu.c \
|
||||
mpz\lcm.c \
|
||||
mpz\lcm_ui.c \
|
||||
mpz\lucnum2_ui.c \
|
||||
mpz\lucnum_ui.c \
|
||||
mpz\millerrabin.c \
|
||||
mpz\mod.c \
|
||||
mpz\mul.c \
|
||||
mpz\mul_2exp.c \
|
||||
mpz\mul_si.c \
|
||||
mpz\mul_ui.c \
|
||||
mpz\n_pow_ui.c \
|
||||
mpz\neg.c \
|
||||
mpz\nextprime.c \
|
||||
mpz\out_raw.c \
|
||||
mpz\out_str.c \
|
||||
mpz\perfpow.c \
|
||||
mpz\perfsqr.c \
|
||||
mpz\popcount.c \
|
||||
mpz\pow_ui.c \
|
||||
mpz\powm.c \
|
||||
mpz\powm_ui.c \
|
||||
mpz\pprime_p.c \
|
||||
mpz\random.c \
|
||||
mpz\random2.c \
|
||||
mpz\realloc.c \
|
||||
mpz\realloc2.c \
|
||||
mpz\remove.c \
|
||||
mpz\root.c \
|
||||
mpz\rrandomb.c \
|
||||
mpz\scan0.c \
|
||||
mpz\scan1.c \
|
||||
mpz\set.c \
|
||||
mpz\set_d.c \
|
||||
mpz\set_f.c \
|
||||
mpz\set_q.c \
|
||||
mpz\set_si.c \
|
||||
mpz\set_str.c \
|
||||
mpz\set_ui.c \
|
||||
mpz\setbit.c \
|
||||
mpz\size.c \
|
||||
mpz\sizeinbase.c \
|
||||
mpz\sqrt.c \
|
||||
mpz\sqrtrem.c \
|
||||
mpz\sub.c \
|
||||
mpz\sub_ui.c \
|
||||
mpz\swap.c \
|
||||
mpz\tdiv_q.c \
|
||||
mpz\tdiv_q_2exp.c \
|
||||
mpz\tdiv_q_ui.c \
|
||||
mpz\tdiv_qr.c \
|
||||
mpz\tdiv_qr_ui.c \
|
||||
mpz\tdiv_r.c \
|
||||
mpz\tdiv_r_2exp.c \
|
||||
mpz\tdiv_r_ui.c \
|
||||
mpz\tdiv_ui.c \
|
||||
mpz\tstbit.c \
|
||||
mpz\ui_pow_ui.c \
|
||||
mpz\ui_sub.c \
|
||||
mpz\urandomb.c \
|
||||
mpz\urandomm.c \
|
||||
mpz\xor.c \
|
||||
|
||||
PRINTF_SOURCES = \
|
||||
printf\asprintf.c \
|
||||
printf\asprntffuns.c \
|
||||
printf\doprnt.c \
|
||||
printf\doprntf.c \
|
||||
printf\doprnti.c \
|
||||
printf\fprintf.c \
|
||||
printf\obprintf.c \
|
||||
printf\obprntffuns.c \
|
||||
printf\obvprintf.c \
|
||||
printf\printf.c \
|
||||
printf\printffuns.c \
|
||||
printf\repl-vsnprintf.c \
|
||||
printf\snprintf.c \
|
||||
printf\snprntffuns.c \
|
||||
printf\sprintf.c \
|
||||
printf\sprintffuns.c \
|
||||
printf\vasprintf.c \
|
||||
printf\vfprintf.c \
|
||||
printf\vprintf.c \
|
||||
printf\vsnprintf.c \
|
||||
printf\vsprintf.c
|
||||
|
||||
SCANF_SOURCES = \
|
||||
scanf\doscan.c \
|
||||
scanf\fscanf.c \
|
||||
scanf\fscanffuns.c \
|
||||
scanf\scanf.c \
|
||||
scanf\sscanf.c \
|
||||
scanf\sscanffuns.c \
|
||||
scanf\vfscanf.c \
|
||||
scanf\vscanf.c \
|
||||
scanf\vsscanf.c
|
||||
|
||||
GMP_SOURCES = \
|
||||
ansi2knr.c \
|
||||
assert.c \
|
||||
compat.c \
|
||||
errno.c \
|
||||
extract-dbl.c \
|
||||
insert-dbl.c \
|
||||
memory.c \
|
||||
mp_bpl.c \
|
||||
mp_clz_tab.c \
|
||||
mp_minv_tab.c \
|
||||
mp_set_fns.c \
|
||||
rand.c \
|
||||
randclr.c \
|
||||
randdef.c \
|
||||
randlc.c \
|
||||
randlc2s.c \
|
||||
randlc2x.c \
|
||||
randraw.c \
|
||||
rands.c \
|
||||
randsd.c \
|
||||
randsdui.c \
|
||||
version.c
|
||||
|
||||
MPN_GC_OBJS = $(MPN_GC_SOURCES:.c=.obj)
|
||||
MPN_P0_OBJS = $(MPN_P0_ASM_SOURCES:.asm=.obj) $(MPN_P0_C_SOURCES:.c=.obj)
|
||||
MPN_P3_OBJS = $(MPN_P3_ASM_SOURCES:.asm=.obj) $(MPN_P3_C_SOURCES:.c=.obj)
|
||||
MPN_P4_OBJS = $(MPN_P4_ASM_SOURCES:.asm=.obj) $(MPN_P4_C_SOURCES:.c=.obj)
|
||||
MPF_OBJS = $(MPF_SOURCES:.c=.obj)
|
||||
MPQ_OBJS = $(MPQ_SOURCES:.c=.obj)
|
||||
MPZ_OBJS = $(MPZ_SOURCES:.c=.obj)
|
||||
PRINTF_OBJS = $(PRINTF_SOURCES:.c=.obj)
|
||||
SCANF_OBJS = $(SCANF_SOURCES:.c=.obj)
|
||||
GMP_OBJS = $(GMP_SOURCES:.c=.obj)
|
||||
|
||||
GMP_ALL_OBJS = $(MPF_OBJS) $(MPQ_OBJS) $(MPZ_OBJS) \
|
||||
$(PRINTF_OBJS) $(SCANF_OBJS) $(GMP_OBJS)
|
||||
|
||||
MPN_TYPE = gc
|
||||
|
||||
all: gmp.lib
|
||||
|
||||
mpn_gc.lib: msvc-build $(MPN_GC_OBJS)
|
||||
link -lib /NOLOGO /OUT:$@ $(MPN_GC_OBJS)
|
||||
|
||||
mpn_p0.lib: msvc-build $(MPN_P0_OBJS)
|
||||
link -lib /NOLOGO /OUT:$@ $(MPN_P0_OBJS)
|
||||
|
||||
mpn_p3.lib: msvc-build $(MPN_P3_OBJS)
|
||||
link -lib /NOLOGO /OUT:$@ $(MPN_P3_OBJS)
|
||||
|
||||
mpn_p4.lib: msvc-build $(MPN_P4_OBJS)
|
||||
link -lib /NOLOGO /OUT:$@ $(MPN_P4_OBJS)
|
||||
|
||||
gmp.lib: mpn_$(MPN_TYPE).lib $(GMP_ALL_OBJS)
|
||||
link -lib /NOLOGO /OUT:$@ $(GMP_ALL_OBJS) mpn_$(MPN_TYPE).lib
|
||||
|
||||
CFLAGS = /nologo /MD /W3 /GX /I "." /I $(srcdir) /I "$(srcdir)\mpn\generic" /D "WIN32" /D "NDEBUG" /D "_LIB" /D "_WIN32" /D "_MBCS"
|
||||
|
||||
{$(srcdir)\mpn\generic}.c{mpn\generic}.obj:
|
||||
cl -c $(CFLAGS) /Fo$@ $?
|
||||
{$(srcdir)\mpn}.c{mpn}.obj:
|
||||
cl -c $(CFLAGS) /Fo$@ $?
|
||||
{$(srcdir)\mpf}.c{mpf}.obj:
|
||||
cl -c $(CFLAGS) /Fo$@ $?
|
||||
{$(srcdir)\mpq}.c{mpq}.obj:
|
||||
cl -c $(CFLAGS) /Fo$@ $?
|
||||
{$(srcdir)\mpz}.c{mpz}.obj:
|
||||
cl -c $(CFLAGS) /Fo$@ $?
|
||||
{$(srcdir)\printf}.c{printf}.obj:
|
||||
cl -c $(CFLAGS) /Fo$@ $?
|
||||
{$(srcdir)\scanf}.c{scanf}.obj:
|
||||
cl -c $(CFLAGS) /Fo$@ $?
|
||||
{$(srcdir)}.c{}.obj:
|
||||
cl -c $(CFLAGS) /Fo$@ $?
|
||||
|
||||
.asm.obj:
|
||||
nasm -O9 -Xvc -f win32 -i $(@D)\ -o $@ $?
|
||||
|
||||
msvc-build: config-vc6.$(MPN_TYPE) gmp.h.vc6
|
||||
copy config-vc6.$(MPN_TYPE) config.h
|
||||
copy gmp.h.vc6 gmp.h
|
||||
for %d in ($(AUTO_SUBDIRS)) do \
|
||||
if not exist %d mkdir %d
|
||||
echo > $@
|
||||
|
||||
clean:
|
||||
-erase mpn\generic\*.obj
|
||||
-erase mpn\*.obj
|
||||
-erase mpf\*.obj
|
||||
-erase mpq\*.obj
|
||||
-erase mpz\*.obj
|
||||
-erase printf\*.obj
|
||||
-erase scanf\*.obj
|
||||
-erase *.obj
|
||||
-erase mpn_*.lib
|
||||
-erase gmp.lib
|
||||
-for %o in ($(MPN_P0_ASM_SOURCES:.asm=.obj)) do erase %o
|
||||
-for %o in ($(MPN_P3_ASM_SOURCES:.asm=.obj)) do erase %o
|
||||
-for %o in ($(MPN_P4_ASM_SOURCES:.asm=.obj)) do erase %o
|
||||
-for %d in ($(AUTO_SUBDIRS)) do rmdir /S /Q %d
|
||||
-erase config.h
|
||||
-erase gmp.h
|
||||
-erase msvc-build
|
||||
|
|
@ -1,280 +0,0 @@
|
|||
/*
|
||||
config.h.in -- Template configuration file.
|
||||
*/
|
||||
/*
|
||||
Copyright (c) 1990, Giuseppe Attardi.
|
||||
Copyright (c) 2001, Juan Jose Garcia Ripoll.
|
||||
|
||||
ECoLisp is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Library General Public
|
||||
License as published by the Free Software Foundation; either
|
||||
version 2 of the License, or (at your option) any later version.
|
||||
|
||||
See file '../Copyright' for full details.
|
||||
*/
|
||||
|
||||
/*
|
||||
* FEATURES LINKED IN
|
||||
*/
|
||||
/* Always use CLOS */
|
||||
#define CLOS
|
||||
|
||||
/* Use Boehm's garbage collector */
|
||||
#define GBC_BOEHM 1
|
||||
#ifdef GBC_BOEHM
|
||||
#define ECL_DYNAMIC_VV
|
||||
#endif
|
||||
|
||||
/* Use GNU Multiple Precision library for bignums */
|
||||
#define WITH_GMP 1
|
||||
|
||||
/* Userland threads? */
|
||||
/* #undef ECL_THREADS */
|
||||
#ifdef ECL_THREADS
|
||||
# define GC_THREADS
|
||||
#endif
|
||||
|
||||
/* Network streams */
|
||||
#define TCP 1
|
||||
#if defined(TCP) && (defined(_MSC_VER) || defined(mingw32))
|
||||
# define ECL_WSOCK
|
||||
#endif
|
||||
|
||||
/* Foreign functions interface */
|
||||
#define ECL_FFI
|
||||
|
||||
/*
|
||||
* C TYPES AND SYSTEM LIMITS
|
||||
*/
|
||||
/*
|
||||
* The integer type
|
||||
*
|
||||
* cl_fixnum must be an integer type, large enough to hold a pointer.
|
||||
* Ideally, according to the ISOC99 standard, we should use intptr_t,
|
||||
* but the required headers are not present in all systems. Hence we
|
||||
* use autoconf to guess the following values.
|
||||
*/
|
||||
#define FIXNUM_BITS 32
|
||||
#define MOST_POSITIVE_FIXNUM ((cl_fixnum)536870911)
|
||||
#define MOST_NEGATIVE_FIXNUM ((cl_fixnum)-536870912)
|
||||
|
||||
typedef int cl_fixnum;
|
||||
typedef unsigned int cl_index;
|
||||
typedef unsigned int cl_hashkey;
|
||||
|
||||
/*
|
||||
* The character type
|
||||
*/
|
||||
#define CHAR_CODE_LIMIT 256
|
||||
|
||||
/*
|
||||
* Array limits
|
||||
*/
|
||||
#define ARANKLIM 64 /* array rank limit */
|
||||
#ifdef GBC_BOEHM
|
||||
#define ADIMLIM 536870911 /* array dimension limit */
|
||||
#define ATOTLIM 536870911 /* array total limit */
|
||||
#else
|
||||
#define ADIMLIM 16*1024*1024 /* array dimension limit */
|
||||
#define ATOTLIM 16*1024*1024 /* array total limit */
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Function limits.
|
||||
*
|
||||
* In general, any of these limits must fit in a "signed int".
|
||||
*/
|
||||
/* Maximum number of function arguments */
|
||||
#define CALL_ARGUMENTS_LIMIT 65536
|
||||
|
||||
/* Maximum number of required arguments */
|
||||
#define LAMBDA_PARAMETERS_LIMIT 64
|
||||
|
||||
/* Numb. of args. which can be passed using the C stack */
|
||||
/* See cmplam.lsp if you change this value */
|
||||
#define C_ARGUMENTS_LIMIT 64
|
||||
|
||||
/* Maximum number of output arguments */
|
||||
#define ECL_MULTIPLE_VALUES_LIMIT 64
|
||||
|
||||
/* A setjmp that does not save signals */
|
||||
#define ecl_setjmp setjmp
|
||||
#define ecl_longjmp longjmp
|
||||
|
||||
/*
|
||||
* Structure/Instance limits. The index to a slot must fit in the
|
||||
* "int" type. We also require ECL_SLOTS_LIMIT <= CALL_ARGUMENTS_LIMIT
|
||||
* because constructors typically require as many arguments as slots,
|
||||
* or more.
|
||||
*/
|
||||
#define ECL_SLOTS_LIMIT 32768
|
||||
|
||||
/* Missing integer types */
|
||||
typedef char int8_t;
|
||||
typedef short int16_t;
|
||||
typedef int int32_t;
|
||||
typedef unsigned char uint8_t;
|
||||
typedef unsigned short uint16_t;
|
||||
typedef unsigned int uint32_t;
|
||||
|
||||
/* -CUT-: Everything below this mark will not be installed */
|
||||
/* -------------------------------------------------------------------- *
|
||||
* BUILD OPTIONS WHICH NEED NOT BE EXPORTED *
|
||||
* -------------------------------------------------------------------- */
|
||||
/*
|
||||
* FEATURES LINKED IN:
|
||||
*/
|
||||
|
||||
/* CLX */
|
||||
#define CLX 1
|
||||
/* Locatives */
|
||||
/* #undef LOCATIVE */
|
||||
/* Use old MIT LOOP macro system */
|
||||
/* #undef ECL_OLD_LOOP */
|
||||
|
||||
/* Define this if you want a runtime version only without compiler */
|
||||
/* #undef RUNTIME */
|
||||
/* Profile tool */
|
||||
/* #undef PROFILE */
|
||||
/* Program Development Environment */
|
||||
/* #undef PDE */
|
||||
|
||||
/* Tcl/Tk library */
|
||||
/* #undef TK */
|
||||
|
||||
/* Allow loading dynamically linked code */
|
||||
#define ENABLE_DLOPEN 1
|
||||
|
||||
/* Undefine this if you do not want ECL to check for circular lists */
|
||||
#define ECL_SAFE
|
||||
|
||||
/* Allow STREAM operations to work on arbitrary objects */
|
||||
#define ECL_CLOS_STREAMS 1
|
||||
|
||||
/* Use CMU Common-Lisp's FORMAT routine */
|
||||
#define ECL_CMU_FORMAT 1
|
||||
|
||||
/* Bytecodes and arguments are 8 and 16 bits large, respectively */
|
||||
/* #undef ECL_SMALL_BYTECODES */
|
||||
|
||||
/* We have non-portable implementation of FFI calls */
|
||||
#define ECL_DYNAMIC_FFI 1
|
||||
|
||||
/*
|
||||
* SYSTEM FEATURES:
|
||||
*/
|
||||
|
||||
/* Stack grows downwards */
|
||||
#define DOWN_STACK 1
|
||||
/* Arguments cannot be accessed as array */
|
||||
/* #undef NO_ARGS_ARRAY */
|
||||
/* Most significant byte first */
|
||||
/* #undef WORDS_BIGENDIAN */
|
||||
/* Has <sys/resource.h> */
|
||||
/* #undef HAVE_SYS_RESOURCE_H */
|
||||
/* #undef HAVE_ULIMIT_H */
|
||||
/* High precision timer */
|
||||
/* #undef HAVE_NANOSLEEP */
|
||||
/* Float version if isnan() */
|
||||
/* #undef HAVE_ISNANF */
|
||||
/* float.h for epsilons, maximum real numbers, etc */
|
||||
#define HAVE_FLOAT_H 1
|
||||
/* select() */
|
||||
/* #undef HAVE_SELECT */
|
||||
/* #undef HAVE_SYS_IOCTL_H */
|
||||
/* putenv() or setenv() */
|
||||
#undef HAVE_SETENV
|
||||
#define HAVE_PUTENV 1
|
||||
/* times() and sys/times.h */
|
||||
/* #undef HAVE_TIMES */
|
||||
/* user home directory, user name, etc... */
|
||||
/* #undef HAVE_PW_H */
|
||||
/* symbolic links and checking their existence */
|
||||
/* #undef HAVE_LSTAT */
|
||||
/* safe creation of temporary files */
|
||||
/* #undef HAVE_MKSTEMP */
|
||||
/* timer for userland threads */
|
||||
/* #undef HAVE_ALARM */
|
||||
/* filesytem */
|
||||
/* #undef HAVE_DIRENT_H */
|
||||
/* dynamic linking of libraries */
|
||||
/* #undef HAVE_DLFCN_H */
|
||||
/* #undef HAVE_LINK_H */
|
||||
/* #undef HAVE_MACH_O_DYLD_H */
|
||||
/* POSIX signals */
|
||||
/* #undef HAVE_SIGPROCMASK */
|
||||
/* isatty() checks whether a file is connected to a */
|
||||
#define HAVE_ISATTY 1
|
||||
/* compiler understands long long */
|
||||
#define HAVE_LONG_LONG 1
|
||||
|
||||
/* what characters are used to mark beginning of new line */
|
||||
#define ECL_NEWLINE_IS_CRLF 1
|
||||
/* #undef ECL_NEWLINE_IS_LFCR */
|
||||
|
||||
/*
|
||||
* PARAMETERS:
|
||||
*/
|
||||
|
||||
/*
|
||||
* Memory limits for the old garbage collector.
|
||||
*/
|
||||
#define LISP_PAGESIZE 2048 /* Page size in bytes */
|
||||
#define MAXPAGE 16384 /* Maximum Memory Size */
|
||||
|
||||
/*
|
||||
* The lisp environment has several stacks. These are their limits:
|
||||
*/
|
||||
#define BDSSIZE 2048 /* Size of Binding Stack */
|
||||
#define BDSGETA 16 /* Safety zone of BDS */
|
||||
#define FRSSIZE 1024 /* Size of Frame Stack */
|
||||
#define FRSGETA 16 /* Safety zone of FRS */
|
||||
#ifdef THREADS
|
||||
#define CSSIZE 7500 /* Size of C Stack of each thread */
|
||||
#define CSGETA 500
|
||||
#else
|
||||
#define CSSIZE 20000 /* Size of C Stack */
|
||||
#define CSGETA 4000
|
||||
#endif
|
||||
|
||||
/* We reserve these many bytes for computation with bignums registers */
|
||||
#define BIGNUM_REGISTER_SIZE 16
|
||||
|
||||
/*
|
||||
* Macros that depend on these system features.
|
||||
*/
|
||||
#if defined(sparc) || defined(i386) || defined(mips)
|
||||
# define stack_align(n) (((n) + 0x7) & ~0x7)
|
||||
#else
|
||||
# define stack_align(n) (((n) + 03) & ~03)
|
||||
#endif
|
||||
|
||||
/* #undef FILE_CNT */
|
||||
#if 0 == 1
|
||||
# define FILE_CNT(fp) ((fp)->_IO_read_end - (fp)->_IO_read_ptr)
|
||||
#endif
|
||||
#if 0 == 2
|
||||
# define FILE_CNT(fp) ((fp)->_r)
|
||||
#endif
|
||||
#if 3 == 3
|
||||
# define FILE_CNT(fp) ((fp)->_cnt)
|
||||
#endif
|
||||
|
||||
#if defined(MSDOS) || defined(cygwin) || defined(mingw32) || defined(_MSC_VER)
|
||||
# define IS_DIR_SEPARATOR(x) ((x=='/')||(x=='\\'))
|
||||
# define DIR_SEPARATOR '/'
|
||||
# define PATH_SEPARATOR ';'
|
||||
#else
|
||||
# define IS_DIR_SEPARATOR(x) (x=='/')
|
||||
# define DIR_SEPARATOR '/'
|
||||
# define PATH_SEPARATOR ':'
|
||||
#endif /* MSDOS */
|
||||
|
||||
#define ECL_ARCHITECTURE "PENTIUM4"
|
||||
|
||||
#define strcasecmp _stricmp
|
||||
#define isnan _isnan
|
||||
#define finite _finite
|
||||
#define sleep _sleep
|
||||
|
||||
#include "@ECL_FPE_CODE@"
|
||||
Loading…
Add table
Add a link
Reference in a new issue