Consequently changed compiler's lookup of include and libraries directories.
bin/mkcl-small$(EXE) liblsp.a $(LSP_LIBRARIES) ENCODINGS: compile.lsp lsp/config.lsp cmp/cmpdefs.lsp lsp/*.lsp clos/*.lsp cmp/*.lsp mkcl/mkcl-cmp.h mkcl/config.h BUILD-STAMP mkcl_min$(EXE) @LIBPREFIX@mkcltop.@LIBEXT@
- MKCL_LIBDIR=`pwd`/ ./mkcl_min$(EXE) compile
+ ./mkcl_min$(EXE) compile
for i in $(LSP_LIBRARIES) ; do \
if test -s $$i ; then \
case $$i in \
asdf.fasb libasdf.a: bin/mkcl-small$(EXE) build-asdf.lsp ../contrib/asdf/*.lisp
- MKCL_LIBDIR=$$(pwd)/ bin/mkcl-small$(EXE) -norc -q --external-format "(:ascii :lf)" -load build-asdf.lsp
+ bin/mkcl-small$(EXE) -norc -q --external-format "(:ascii :lf)" -load build-asdf.lsp
bytecmp.fasb libbytecmp.a: bin/mkcl-small$(EXE) build-bytecmp.lsp ../contrib/bytecmp/bytecmp.lsp
- MKCL_LIBDIR=$$(pwd)/ bin/mkcl-small$(EXE) -norc -q --external-format "(:ascii :lf)" -load build-bytecmp.lsp
+ bin/mkcl-small$(EXE) -norc -q --external-format "(:ascii :lf)" -load build-bytecmp.lsp
defsystem.fasb libdefsystem.a: bin/mkcl-small$(EXE) build-defsystem.lsp ../contrib/defsystem/defsystem.lisp
- MKCL_LIBDIR=$$(pwd)/ bin/mkcl-small$(EXE) -norc -q --external-format "(:ascii :lf)" -load build-defsystem.lsp
+ bin/mkcl-small$(EXE) -norc -q --external-format "(:ascii :lf)" -load build-defsystem.lsp
profile.fasb libprofile.a: bin/mkcl-small$(EXE) build-profile.lsp ../contrib/profile/profile.lisp
- MKCL_LIBDIR=$$(pwd)/ bin/mkcl-small$(EXE) -norc -q --external-format "(:ascii :lf)" -load build-profile.lsp
+ bin/mkcl-small$(EXE) -norc -q --external-format "(:ascii :lf)" -load build-profile.lsp
../contrib/sockets/package.lisp: ../contrib/sockets/sockets.lisp
touch ../contrib/sockets/package.lisp
sockets.fasb libsockets.a: bin/mkcl-small$(EXE) build-sockets.lsp ../contrib/sockets/*.lisp
- MKCL_LIBDIR=$$(pwd)/ bin/mkcl-small$(EXE) -norc -q --external-format "(:ascii :lf)" -load build-sockets.lsp
+ bin/mkcl-small$(EXE) -norc -q --external-format "(:ascii :lf)" -load build-sockets.lsp
serve-event.fasb libserve-event.a: bin/mkcl-small$(EXE) build-serve-event.lsp ../contrib/serve-event/serve-event.lisp
- MKCL_LIBDIR=$$(pwd)/ bin/mkcl-small$(EXE) -norc -q --external-format "(:ascii :lf)" -load build-serve-event.lsp
+ bin/mkcl-small$(EXE) -norc -q --external-format "(:ascii :lf)" -load build-serve-event.lsp
walker.fasb walker.a: bin/mkcl-small$(EXE) build-serve-event.lsp ../contrib/walker/walk.lsp
- MKCL_LIBDIR=$$(pwd)/ bin/mkcl-small$(EXE) -norc -q --external-format "(:ascii :lf)" -load build-walker.lsp
+ bin/mkcl-small$(EXE) -norc -q --external-format "(:ascii :lf)" -load build-walker.lsp
../contrib/asdf-bundle/asdf-bundle.fas: bin/mkcl-small$(EXE) build-asdf-bundle.lsp ../contrib/asdf-bundle/*.lisp
if [ "$${LOCALAPPDATA}" ]; then (cd "$${LOCALAPPDATA}"; rm -rf ./common-lisp/cache/mkcl-*); elif [ "$${APPDATA}" ]; then (cd "$${APPDATA}"; rm -rf ./common-lisp/cache/mkcl-*); else rm -rf $$HOME/.cache/common-lisp/mkcl-*/$$(cd ..;pwd -P)/contrib/asdf-bundle; fi
- MKCL_LIBDIR=$$(pwd)/ bin/mkcl-small$(EXE) -norc -q --external-format "(:ascii :lf)" -load build-asdf-bundle.lsp
+ bin/mkcl-small$(EXE) -norc -q --external-format "(:ascii :lf)" -load build-asdf-bundle.lsp
trivial-features.fasb libtrivial-features.a: bin/mkcl-small$(EXE) build-asdf-contrib.lsp ../contrib/trivial-features*/src/*.lisp
- MKCL_LIBDIR=$$(pwd)/ bin/mkcl-small$(EXE) -norc -q --external-format "(:ascii :lf)" -load build-asdf-contrib.lsp -- trivial-features ../contrib/trivial-features*/
+ bin/mkcl-small$(EXE) -norc -q --external-format "(:ascii :lf)" -load build-asdf-contrib.lsp -- trivial-features ../contrib/trivial-features*/
cp -p ../contrib/trivial-features*/trivial-features.fasb .
cp -p ../contrib/trivial-features*/libtrivial-features.a .
trivial-garbage.fasb libtrivial-garbage.a: bin/mkcl-small$(EXE) build-asdf-contrib.lsp ../contrib/trivial-garbage*/*.lisp
- MKCL_LIBDIR=$$(pwd)/ bin/mkcl-small$(EXE) -norc -q --external-format "(:ascii :lf)" -load build-asdf-contrib.lsp -- trivial-garbage ../contrib/trivial-garbage*/
+ bin/mkcl-small$(EXE) -norc -q --external-format "(:ascii :lf)" -load build-asdf-contrib.lsp -- trivial-garbage ../contrib/trivial-garbage*/
cp -p ../contrib/trivial-garbage*/trivial-garbage.fasb .
cp -p ../contrib/trivial-garbage*/libtrivial-garbage.a .
alexandria.fasb libalexandria.a: bin/mkcl-small$(EXE) build-asdf-contrib.lsp ../contrib/alexandria*/*.lisp
- MKCL_LIBDIR=$$(pwd)/ bin/mkcl-small$(EXE) -norc -q --external-format "(:ascii :lf)" -load build-asdf-contrib.lsp -- alexandria ../contrib/alexandria*/
+ bin/mkcl-small$(EXE) -norc -q --external-format "(:ascii :lf)" -load build-asdf-contrib.lsp -- alexandria ../contrib/alexandria*/
cp -p ../contrib/alexandria*/alexandria.fasb .
cp -p ../contrib/alexandria*/libalexandria.a .
babel.fasb libbabel.a: bin/mkcl-small$(EXE) build-asdf-contrib.lsp trivial-features.fasb alexandria.fasb ../contrib/babel*/src/*.lisp
- MKCL_LIBDIR=$$(pwd)/ bin/mkcl-small$(EXE) -norc -q --external-format "(:ascii :lf)" -load build-asdf-contrib.lsp -- babel ../contrib/babel*/
+ bin/mkcl-small$(EXE) -norc -q --external-format "(:ascii :lf)" -load build-asdf-contrib.lsp -- babel ../contrib/babel*/
cp -p ../contrib/babel*/babel.fasb .
cp -p ../contrib/babel*/libbabel.a .
cffi.fasb libcffi.a: bin/mkcl-small$(EXE) build-asdf-contrib.lsp babel.fasb ../contrib/cffi*/src/*.lisp
- MKCL_LIBDIR=$$(pwd)/ bin/mkcl-small$(EXE) -norc -q --external-format "(:ascii :lf)" -load build-asdf-contrib.lsp -- cffi ../contrib/cffi*/
+ bin/mkcl-small$(EXE) -norc -q --external-format "(:ascii :lf)" -load build-asdf-contrib.lsp -- cffi ../contrib/cffi*/
cp -p ../contrib/cffi*/cffi.fasb .
cp -p ../contrib/cffi*/libcffi.a .
bordeaux-threads.fasb libbordeaux-threads.a: bin/mkcl-small$(EXE) build-asdf-contrib.lsp alexandria.fasb ../contrib/bordeaux-threads-*/src/*.lisp
- MKCL_LIBDIR=$$(pwd)/ bin/mkcl-small$(EXE) -norc -q --external-format "(:ascii :lf)" -load build-asdf-contrib.lsp -- bordeaux-threads ../contrib/bordeaux-threads-*/
+ bin/mkcl-small$(EXE) -norc -q --external-format "(:ascii :lf)" -load build-asdf-contrib.lsp -- bordeaux-threads ../contrib/bordeaux-threads-*/
cp -p ../contrib/bordeaux-threads*/bordeaux-threads.fasb .
cp -p ../contrib/bordeaux-threads*/libbordeaux-threads.a .
fiveam.fasb libfiveam.a: bin/mkcl-small$(EXE) build-asdf-contrib.lsp alexandria.fasb ../contrib/fiveam-*/src/*.lisp
- MKCL_LIBDIR=$$(pwd)/ bin/mkcl-small$(EXE) -norc -q --external-format "(:ascii :lf)" -load build-asdf-contrib.lsp -- fiveam ../contrib/fiveam-*/
+ bin/mkcl-small$(EXE) -norc -q --external-format "(:ascii :lf)" -load build-asdf-contrib.lsp -- fiveam ../contrib/fiveam-*/
cp -p ../contrib/fiveam*/src/fiveam.fasb .
cp -p ../contrib/fiveam*/src/libfiveam.a .
rt.fasb librt.a: bin/mkcl-small$(EXE) build-asdf-contrib.lsp babel.fasb ../contrib/rt*/*.lisp
- MKCL_LIBDIR=$$(pwd)/ bin/mkcl-small$(EXE) -norc -q --external-format "(:ascii :lf)" -load build-asdf-contrib.lsp -- rt ../contrib/rt*/
+ bin/mkcl-small$(EXE) -norc -q --external-format "(:ascii :lf)" -load build-asdf-contrib.lsp -- rt ../contrib/rt*/
cp -p ../contrib/rt*/rt.fasb .
cp -p ../contrib/rt*/librt.a .
cmp.fasb: bin/mkcl-small$(EXE) cmp/*.lsp build-cmp.lsp
- MKCL_LIBDIR=$$(pwd)/ bin/mkcl-small$(EXE) -norc -q --external-format "(:ascii :lf)" -load build-cmp.lsp
+ bin/mkcl-small$(EXE) -norc -q --external-format "(:ascii :lf)" -load build-cmp.lsp
bin/mkcl-dyn: bin/mkcl-small$(EXE) cmp.fasb build-dynamic-mkcl.lsp
- MKCL_LIBDIR=$$(pwd)/ bin/mkcl-small$(EXE) -norc -q --external-format "(:ascii :lf)" -load build-dynamic-mkcl.lsp
+ bin/mkcl-small$(EXE) -norc -q --external-format "(:ascii :lf)" -load build-dynamic-mkcl.lsp
bin/mkcl$(EXE): bin/mkcl-small$(EXE) cmp.fasb build-mkcl.lsp
- MKCL_LIBDIR=$$(pwd)/ bin/mkcl-small$(EXE) -norc -q --external-format "(:ascii :lf)" -load build-mkcl.lsp
+ bin/mkcl-small$(EXE) -norc -q --external-format "(:ascii :lf)" -load build-mkcl.lsp
ifeq (@thehost@,mingw32)
bin/mkcl-full$(EXE): bin/mkcl-small$(EXE) build-full-mkcl.lsp $(BUILTINS:%=lib%.a)
- MKCL_LIBDIR=$$(pwd)/ bin/mkcl-small$(EXE) -norc -q --external-format "(:ascii :lf)" -load build-full-mkcl.lsp -- $(BUILTINS:%=lib%.a)
+ bin/mkcl-small$(EXE) -norc -q --external-format "(:ascii :lf)" -load build-full-mkcl.lsp -- $(BUILTINS:%=lib%.a)
else
bin/mkcl-full$(EXE): bin/mkcl-small$(EXE) build-full-mkcl.lsp $(BUILTINS)
- MKCL_LIBDIR=$$(pwd)/ bin/mkcl-small$(EXE) -norc -q --external-format "(:ascii :lf)" -load build-full-mkcl.lsp -- $(BUILTINS)
+ bin/mkcl-small$(EXE) -norc -q --external-format "(:ascii :lf)" -load build-full-mkcl.lsp -- $(BUILTINS)
endif
HELP.DOC: dump-doc.lsp bin/mkcl$(EXE) doc/help.lsp
- MKCL_LIBDIR=$$(pwd)/ bin/mkcl-small$(EXE) -norc -q --external-format "(:ascii :lf)" -load dump-doc.lsp
+ bin/mkcl-small$(EXE) -norc -q --external-format "(:ascii :lf)" -load dump-doc.lsp
mkcl_min$(EXE): $(LIBRARIES) @LIBPREFIX@mkclgc.@LIBEXT@ @LIBPREFIX@mkclmin.@LIBEXT@ c/cinit.o c/all_symbols.o .gdbinit
* Initialize default pathnames
*/
mkcl_core.pathname_translations = mk_cl_Cnil;
- mkcl_core.library_pathname = mk_cl_Cnil;
+ mkcl_core.SYS_library_pathname = mk_cl_Cnil;
mkcl_core.empty_default_pathname_defaults = mkcl_make_pathname(env,
mkcl_core.localhost_string, @':unspecific', mk_cl_Cnil,
mk_cl_Cnil, mk_cl_Cnil, mk_cl_Cnil);
{{SYS_ "FRS-TOP", SI_ORDINARY, mk_si_frs_top, 0, MKCL_OBJNULL}},
{{SYS_ "FSET", SI_ORDINARY, mk_si_fset, -1, MKCL_OBJNULL}},
{{SYS_ "FUNCTION-BLOCK-NAME", SI_ORDINARY, mk_si_function_block_name, 1, MKCL_OBJNULL}},
- {{SYS_ "GET-LIBRARY-PATHNAME", SI_ORDINARY, mk_si_get_library_pathname, 0, MKCL_OBJNULL}},
+ {{SYS_ "GET-SYS-LIBRARY-PATHNAME", SI_ORDINARY, mk_si_get_SYS_library_pathname, 0, MKCL_OBJNULL}},
{{SYS_ "GET-SYSPROP", SI_ORDINARY, mk_si_get_sysprop, 2, MKCL_OBJNULL}},
{{MKCL_EXT_ "GETENV", MKCL_EXT_ORDINARY, mk_mkcl_getenv, 1, MKCL_OBJNULL}},
{{MKCL_EXT_ "GETCWD", MKCL_EXT_ORDINARY, mk_mkcl_getcwd, -1, MKCL_OBJNULL}},
}
mkcl_object
-mk_si_get_library_pathname(MKCL)
+mk_si_get_SYS_library_pathname(MKCL)
{
- mkcl_object libdir = mkcl_core.library_pathname;
+ mkcl_object SYS_libdir = mkcl_core.SYS_library_pathname;
mkcl_call_stack_check(env);
- if (mkcl_Null(libdir))
+ if (mkcl_Null(SYS_libdir))
{
- static const mkcl_base_string_object(libdir_string_obj, "MKCL_LIBDIR");
- mkcl_object libdir_pathstring = mkcl_getenv(env, (mkcl_object)&libdir_string_obj);
+ static const mkcl_base_string_object(SYS_libdir_string_obj, "MKCL_SYS_LIBDIR");
+ mkcl_object SYS_libdir_pathstring;
+ static const mkcl_base_string_object(libdir_string_obj, "MKCL_LIBDIR"); /* deprecated in favor of MKCL_SYS_LIBDIR */
+ mkcl_object libdir_pathstring;
- if (!mkcl_Null(libdir_pathstring))
+ if (!mkcl_Null(SYS_libdir_pathstring = mkcl_getenv(env, (mkcl_object)&SYS_libdir_string_obj)))
+ {
+ mkcl_character ch = mkcl_string_last(env, SYS_libdir_pathstring);
+
+ if (!MKCL_IS_DIR_SEPARATOR(ch))
+ mkcl_string_push_extend(env, SYS_libdir_pathstring, MKCL_DIR_SEPARATOR);
+ SYS_libdir = mk_cl_parse_namestring(env, 1, SYS_libdir_pathstring);
+ }
+ else if (!mkcl_Null(libdir_pathstring = mkcl_getenv(env, (mkcl_object)&libdir_string_obj)))
{
mkcl_character ch = mkcl_string_last(env, libdir_pathstring);
if (!MKCL_IS_DIR_SEPARATOR(ch))
mkcl_string_push_extend(env, libdir_pathstring, MKCL_DIR_SEPARATOR);
- libdir = mk_cl_parse_namestring(env, 1, libdir_pathstring);
+ SYS_libdir = mk_cl_parse_namestring(env, 1, libdir_pathstring);
}
else
{
for (i = 0; i < MKCL_NB_ELEMS(dirnames); i++)
if (!mkcl_Null(mk_mkcl_probe_file_p(env, dirnames[i])))
- { libdir = mk_cl_pathname(env, dirnames[i]); break;}
+ { SYS_libdir = mk_cl_pathname(env, dirnames[i]); break;}
- if (mkcl_Null(libdir))
+ if (mkcl_Null(SYS_libdir))
{
- mkcl_object default_libdir_pathstring = mkcl_cstring_to_string(env, MKCL_LIBDIR_DEFAULT "/");
- libdir = mk_cl_parse_namestring(env, 1, default_libdir_pathstring);
+ mkcl_object default_SYS_libdir_pathstring = mkcl_cstring_to_string(env, MKCL_SYS_LIBDIR_DEFAULT "/");
+ SYS_libdir = mk_cl_parse_namestring(env, 1, default_SYS_libdir_pathstring);
}
}
else
- libdir = lib_pathname;
+ SYS_libdir = lib_pathname;
}
- mkcl_core.library_pathname = libdir;
+
+ mkcl_core.SYS_library_pathname = SYS_libdir;
}
- @(return libdir);
+ @(return SYS_libdir);
}
@(defun mkcl::chdir (directory &optional (change_d_p_d mk_cl_Cnil))
(defvar +executable-file-extension+ "@EXEEXT@")
(defvar +executable-file-format+ "~a@EXEEXT@")
-(defvar *mkcl-include-directory* (pathname @includedir\@))
-(defvar *mkcl-library-directory* (pathname @libdir\@))
+(defconstant *mkcl-default-include-directory* (pathname @includedir\@))
+(defconstant *mkcl-default-library-directory* (pathname @libdir\@))
+(defvar *mkcl-include-directory* nil)
+(defvar *mkcl-library-directory* nil)
(defvar *disassemble-bindings* nil)
)
(defun mkcl-include-directory ()
"Finds the directory in which the header files were installed."
- (cond ((mkcl:probe-file-p inc-dir-probe)
- inc-dir
- )
- ((and *mkcl-include-directory*
- (mkcl:probe-file-p (merge-pathnames #P"mkcl/mkcl.h" *mkcl-include-directory*)))
- *mkcl-include-directory*)
+ (cond (*mkcl-include-directory*)
+ ((mkcl:probe-file-p inc-dir-probe) inc-dir)
+ (*mkcl-default-include-directory*)
((error "Unable to find include directory")))))
(let* ((bin-dir (make-pathname :name nil :type nil :version nil :defaults (si:self-truename)))
)
(defun mkcl-library-directory ()
"Finds the directory in which the MKCL core library was installed."
- (cond ((mkcl:probe-file-p lib-dir-probe)
+ (cond (*mkcl-library-directory*)
+ ((mkcl:probe-file-p lib-dir-probe)
lib-dir
)
- ((and *mkcl-library-directory*
- #-mkcl-bootstrap
- (mkcl:probe-file-p (merge-pathnames (builder-internal-pathname shared-lib-pathname-name :shared-library)
- *mkcl-library-directory*)))
- *mkcl-library-directory*)
+ (*mkcl-default-library-directory*)
((error "Unable to find library directory")))))
;;
#-mkcl-min
(progn
- (si::pathname-translations "SYS" `(("**;*.*" ,(merge-pathnames "**/*.*" (si::get-library-pathname)))))
- (si::pathname-translations "CONTRIB" `(("**;*.*" ,(merge-pathnames "contrib/**/*.*" (si::get-library-pathname)))))
+ (si::pathname-translations "SYS" `(("**;*.*" ,(merge-pathnames "**/*.*" (si::get-SYS-library-pathname)))))
+ (si::pathname-translations "CONTRIB" `(("**;*.*" ,(merge-pathnames "contrib/**/*.*" (si::get-SYS-library-pathname)))))
)
#-msvc
#define MKCL_MINOR_VERSION_STRING "@MKCL_MINOR_VERSION@"
#define MKCL_PATCH_LEVEL_STRING "@MKCL_PATCH_LEVEL@"
-#define MKCL_LIBDIR_DEFAULT "@mkcldir@"
+#define MKCL_SYS_LIBDIR_DEFAULT "@mkcldir@"
/*
* FEATURES LINKED IN
#define MKCL_MINOR_VERSION_STRING "1"
#define MKCL_PATCH_LEVEL_STRING "2"
-#define MKCL_LIBDIR_DEFAULT "c:/Program Files/MKCL 1.1/lib/mkcl-1.1.2"
+#define MKCL_SYS_LIBDIR_DEFAULT "c:/Program Files/MKCL 1.1/lib/mkcl-1.1.2"
/*
* FEATURES LINKED IN
mkcl_object packages_to_be_created;
mkcl_object pathname_translations;
- mkcl_object library_pathname;
+ mkcl_object SYS_library_pathname;
mkcl_object terminal_io;
mkcl_object null_stream;
extern MKCL_API int mkcl_backup_open(MKCL, mkcl_object filename, int option, int mode);
extern MKCL_API mkcl_object mkcl_file_len(MKCL, int f);
extern MKCL_API mkcl_object mkcl_homedir_pathname(MKCL, mkcl_object user);
- extern MKCL_API mkcl_object mk_si_get_library_pathname(MKCL);
+ extern MKCL_API mkcl_object mk_si_get_SYS_library_pathname(MKCL);
extern MKCL_API mkcl_object mk_si_copy_file(MKCL, mkcl_object orig, mkcl_object end);
extern MKCL_API pid_t mkcl_gettid(void);